diff options
-rw-r--r-- | test/ruby/test_thread.rb | 9 |
1 files changed, 8 insertions, 1 deletions
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 |