From 307835fe314fea6e946a8c9b25bb3912680ed7d1 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 25 Jul 2022 12:01:09 +0900 Subject: [PATCH] Synchronize the test thread sleep --- test/ruby/test_thread.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb index a018f3cdac..afcf1fb463 100644 --- a/test/ruby/test_thread.rb +++ b/test/ruby/test_thread.rb @@ -30,16 +30,23 @@ class TestThread < Test::Unit::TestCase def test_inspect m = Thread::Mutex.new + cv1 = Thread::ConditionVariable.new + cv2 = Thread::ConditionVariable.new m.lock line = __LINE__+1 th = Module.new {break module_eval("class C\u{30b9 30ec 30c3 30c9} < Thread; self; end")}.start do - m.synchronize {} + m.synchronize do + cv2.signal + cv1.wait(m) + end end + cv2.wait(m) s = th.inspect assert_include(s, "::C\u{30b9 30ec 30c3 30c9}:") assert_include(s, " #{__FILE__}:#{line} ") assert_equal(s, th.to_s) ensure + cv1.signal m.unlock th.join end