summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2022-08-03 09:46:21 +0200
committerJean Boussier <jean.boussier@gmail.com>2022-08-03 10:59:13 +0200
commit4406cb1bf10e34757d9877b3b12d4b0c294c22fb (patch)
tree73a8c0862666559ee584c4b1465bb2070757cc38
parent851b3aa7dde489502f517cc1ad9d31d9a3056197 (diff)
Harden Queue#pop timeout tests
They occasionaly fail with; ``` FLeaked thread: TestThreadQueue#test_queue_pop_timeout: #<Thread:0x0000000108e38e48 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 sleep> .Finished thread: TestThreadQueue#test_deny_pushers: #<Thread:0x0000000108e38e48 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 dead> ... Retrying... 1) Failure: TestThreadQueue#test_sized_queue_pop_timeout [/Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:157]: <#<Thread:0x00000001084bc7e8 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:156 sleep>> expected but was <nil>. 2) Failure: TestThreadQueue#test_queue_pop_timeout [/Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:124]: <#<Thread:0x00000001083ff058 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 sleep>> expected but was <nil>. ``` I'm hoping joining for longer should help avoid this.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6210
-rw-r--r--test/ruby/test_thread_queue.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/ruby/test_thread_queue.rb b/test/ruby/test_thread_queue.rb
index aa4ea0a400..1c852474b4 100644
--- a/test/ruby/test_thread_queue.rb
+++ b/test/ruby/test_thread_queue.rb
@@ -121,11 +121,11 @@ class TestThreadQueue < Test::Unit::TestCase
assert_nil t1.value
t2 = Thread.new { q.pop(timeout: 0.1) }
- assert_equal t2, t2.join(0.2)
+ assert_equal t2, t2.join(1)
assert_nil t2.value
ensure
- t1&.kill
- t2&.kill
+ t1&.kill&.join
+ t2&.kill&.join
end
def test_queue_pop_non_block
@@ -154,11 +154,11 @@ class TestThreadQueue < Test::Unit::TestCase
assert_nil t1.value
t2 = Thread.new { q.pop(timeout: 0.1) }
- assert_equal t2, t2.join(0.2)
+ assert_equal t2, t2.join(1)
assert_nil t2.value
ensure
- t1&.kill
- t2&.kill
+ t1&.kill&.join
+ t2&.kill&.join
end
def test_sized_queue_pop_non_block