aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-30 23:36:05 +0200
committerLudovic Courtès <ludo@gnu.org>2017-03-30 23:40:20 +0200
commit402b03e620fc14eda06b4c80121ecbf627c0740d (patch)
tree8cfc14be34e2c92c67a050a3995fdc3904e380e5 /gnu/packages/patches
parentaef81a81b868c6018f907f5855fc0d5fc04e4949 (diff)
downloadguix-402b03e620fc14eda06b4c80121ecbf627c0740d.tar
guix-402b03e620fc14eda06b4c80121ecbf627c0740d.tar.gz
gnu: ruby-concurrent: Work around test failure on ARM.
* gnu/packages/patches/ruby-concurrent-test-arm.patch: New file. * gnu/packages/ruby.scm (ruby-concurrent)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/ruby-concurrent-test-arm.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/patches/ruby-concurrent-test-arm.patch b/gnu/packages/patches/ruby-concurrent-test-arm.patch
new file mode 100644
index 0000000000..75e6365565
--- /dev/null
+++ b/gnu/packages/patches/ruby-concurrent-test-arm.patch
@@ -0,0 +1,36 @@
+Work around two test suite failures on ARM:
+
+ https://github.com/ruby-concurrency/concurrent-ruby/issues/547
+
+The regexps here assume addresses like "0x1234" but on ARM (32-bit)
+we get something like "0x-7db1e810" (notice the dash).
+
+diff --git a/spec/concurrent/edge/future_spec.rb b/spec/concurrent/edge/future_spec.rb
+index a48fd29..4344d7e 100644
+--- b/spec/concurrent/edge/future_spec.rb
++++ a/spec/concurrent/edge/future_spec.rb
+@@ -322,9 +322,9 @@
+ four = three.delay.then(&:succ)
+
+ # meaningful to_s and inspect defined for Future and Promise
+- expect(head.to_s).to match /<#Concurrent::Edge::Future:0x[\da-f]+ pending>/
++ expect(head.to_s).to match /<#Concurrent::Edge::Future:0x-?[\da-f]+ pending>/
+ expect(head.inspect).to(
+- match(/<#Concurrent::Edge::Future:0x[\da-f]+ pending blocks:\[<#Concurrent::Edge::ThenPromise:0x[\da-f]+ pending>\]>/))
++ match(/<#Concurrent::Edge::Future:0x-?[\da-f]+ pending blocks:\[<#Concurrent::Edge::ThenPromise:0x-?[\da-f]+ pending>\]>/))
+
+ # evaluates only up to three, four is left unevaluated
+ expect(three.value!).to eq 3
+diff --git a/spec/concurrent/map_spec.rb b/spec/concurrent/map_spec.rb
+index 13fd5b7..1c82ebe 100644
+--- b/spec/concurrent/map_spec.rb
++++ a/spec/concurrent/map_spec.rb
+@@ -827,7 +827,7 @@
+ end
+
+ it '#inspect' do
+- regexp = /\A#<Concurrent::Map:0x[0-9a-f]+ entries=[0-9]+ default_proc=.*>\Z/i
++ regexp = /\A#<Concurrent::Map:0x-?[0-9a-f]+ entries=[0-9]+ default_proc=.*>\Z/i
+ expect(Concurrent::Map.new.inspect).to match(regexp)
+ expect((Concurrent::Map.new {}).inspect).to match(regexp)
+ map = Concurrent::Map.new