diff options
Diffstat (limited to 'bootstraptest/test_thread.rb')
| -rw-r--r-- | bootstraptest/test_thread.rb | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb index 0c163d0db0..7ff5bb4a38 100644 --- a/bootstraptest/test_thread.rb +++ b/bootstraptest/test_thread.rb @@ -242,9 +242,22 @@ assert_equal 'true', %{ end } +assert_equal 'true', %{ + Thread.new{}.join + begin + Process.waitpid2 fork{ + Thread.new{ + sleep 0.1 + }.join + } + true + rescue NotImplementedError + true + end +} + assert_equal 'ok', %{ - open("zzz_t1.rb", "w") do |f| - f.puts <<-END + File.write("zzz_t1.rb", <<-END) begin Thread.new { fork { GC.start } }.join pid, status = Process.wait2 @@ -253,7 +266,6 @@ assert_equal 'ok', %{ $result = :ok end END - end require "./zzz_t1.rb" $result } @@ -279,7 +291,6 @@ assert_normal_exit %q{ exec "/" } -rjit_enabled = RUBY_DESCRIPTION.include?('+RJIT') assert_normal_exit %q{ (0..10).map { Thread.new { @@ -290,7 +301,7 @@ assert_normal_exit %q{ }.each {|t| t.join } -} unless rjit_enabled # flaky +} assert_equal 'ok', %q{ def m @@ -409,8 +420,7 @@ assert_equal 'ok', %q{ } assert_equal 'ok', %{ - open("zzz_t2.rb", "w") do |f| - f.puts <<-'end;' # do + File.write("zzz_t2.rb", <<-'end;') # do begin m = Thread::Mutex.new parent = Thread.current @@ -432,7 +442,6 @@ assert_equal 'ok', %{ $result = :ok end end; - end require "./zzz_t2.rb" $result } @@ -484,7 +493,8 @@ assert_equal 'foo', %q{ [th1, th2].each {|t| t.join } GC.start f.call.source -} unless rjit_enabled # flaky +} + assert_normal_exit %q{ class C def inspect |
