ruby-changes:72670
From: Nobuyoshi <ko1@a...>
Date: Mon, 25 Jul 2022 15:03:35 +0900 (JST)
Subject: [ruby-changes:72670] 307835fe31 (master): Synchronize the test thread sleep
https://git.ruby-lang.org/ruby.git/commit/?id=307835fe31 From 307835fe314fea6e946a8c9b25bb3912680ed7d1 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Mon, 25 Jul 2022 12:01:09 +0900 Subject: 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 https://github.com/ruby/ruby/blob/trunk/test/ruby/test_thread.rb#L30 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 -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/