Skip to content

Commit f12c766

Browse files
committed
Restore Ractor.yield style test for old version of Ruby
1 parent a621bfb commit f12c766

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

test/test_tmpdir.rb

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,32 @@ def assert_mktmpdir_traversal
134134

135135
def test_ractor
136136
assert_ractor(<<~'end;', require: "tmpdir")
137-
port = Ractor::Port.new
138-
r = Ractor.new port do |port|
139-
Dir.mktmpdir() do |d|
140-
port << d
141-
Ractor.receive
137+
if defined?(Ractor::Port)
138+
port = Ractor::Port.new
139+
r = Ractor.new port do |port|
140+
Dir.mktmpdir() do |d|
141+
port << d
142+
Ractor.receive
143+
end
144+
end
145+
dir = port.receive
146+
assert_file.directory? dir
147+
r.send true
148+
r.join
149+
assert_file.not_exist? dir
150+
else
151+
r = Ractor.new do
152+
Dir.mktmpdir() do |d|
153+
Ractor.yield d
154+
Ractor.receive
155+
end
142156
end
157+
dir = r.take
158+
assert_file.directory? dir
159+
r.send true
160+
r.take
161+
assert_file.not_exist? dir
143162
end
144-
dir = port.receive
145-
assert_file.directory? dir
146-
r.send true
147-
r.join
148-
assert_file.not_exist? dir
149163
end;
150164
end
151165
end

0 commit comments

Comments
 (0)