diff --git a/test/test_tmpdir.rb b/test/test_tmpdir.rb index adc2918..c91fc33 100644 --- a/test/test_tmpdir.rb +++ b/test/test_tmpdir.rb @@ -134,17 +134,32 @@ def assert_mktmpdir_traversal def test_ractor assert_ractor(<<~'end;', require: "tmpdir") - r = Ractor.new do - Dir.mktmpdir() do |d| - Ractor.yield d - Ractor.receive + if defined?(Ractor::Port) + port = Ractor::Port.new + r = Ractor.new port do |port| + Dir.mktmpdir() do |d| + port << d + Ractor.receive + end + end + dir = port.receive + assert_file.directory? dir + r.send true + r.join + assert_file.not_exist? dir + else + r = Ractor.new do + Dir.mktmpdir() do |d| + Ractor.yield d + Ractor.receive + end end + dir = r.take + assert_file.directory? dir + r.send true + r.take + assert_file.not_exist? dir end - dir = r.take - assert_file.directory? dir - r.send true - r.take - assert_file.not_exist? dir end; end end