From 135583e37c06267debf77ee60a8540dfe70bec8f Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Tue, 3 Jun 2025 16:49:10 +0900 Subject: [PATCH] [ruby/tmpdir] Restore Ractor.yield style test for old version of Ruby https://github.com/ruby/tmpdir/commit/f12c766996 --- test/test_tmpdir.rb | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/test/test_tmpdir.rb b/test/test_tmpdir.rb index 789f433d7b..c91fc334ed 100644 --- a/test/test_tmpdir.rb +++ b/test/test_tmpdir.rb @@ -134,18 +134,32 @@ class TestTmpdir < Test::Unit::TestCase def test_ractor assert_ractor(<<~'end;', require: "tmpdir") - port = Ractor::Port.new - r = Ractor.new port do |port| - Dir.mktmpdir() do |d| - port << 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 = port.receive - assert_file.directory? dir - r.send true - r.join - assert_file.not_exist? dir end; end end