summaryrefslogtreecommitdiff
path: root/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch')
-rw-r--r--dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch b/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch
new file mode 100644
index 000000000000..240fe060e224
--- /dev/null
+++ b/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch
@@ -0,0 +1,49 @@
+https://github.com/socketry/async/commit/8f590415c08943372e0227f01d3c32e92dbcbed0
+https://github.com/socketry/async/issues/218
+
+From 8f590415c08943372e0227f01d3c32e92dbcbed0 Mon Sep 17 00:00:00 2001
+From: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date: Sun, 12 Mar 2023 20:33:48 +1300
+Subject: [PATCH] Improve robustness of test, fixes #218.
+
+--- a/spec/async/semaphore_spec.rb
++++ b/spec/async/semaphore_spec.rb
+@@ -62,7 +62,7 @@
+ 3.times.map do |i|
+ semaphore.async do |task|
+ order << i
+- task.sleep(0.1)
++ task.yield
+ order << i
+ end
+ end.collect(&:result)
+@@ -72,17 +72,22 @@
+
+ it 'allows tasks to execute concurrently' do
+ semaphore = Async::Semaphore.new(3)
+- order = []
++ concurrency = 0
++ latch = Async::Condition.new
+
+ 3.times.map do |i|
+ semaphore.async do |task|
+- order << i
+- task.sleep(0.1)
+- order << i
++ concurrency += 1
++
++ if concurrency == 3
++ latch.signal
++ else
++ latch.wait
++ end
+ end
+- end.collect(&:result)
++ end.each(&:wait)
+
+- expect(order).to be == [0, 1, 2, 0, 1, 2]
++ expect(concurrency).to be == 3
+ end
+ end
+
+