[ruby/tmpdir] Restore Ractor.yield style test for old version of Ruby
https://github.com/ruby/tmpdir/commit/f12c766996
This commit is contained in:
parent
365d5b6bf4
commit
135583e37c
@ -134,18 +134,32 @@ class TestTmpdir < Test::Unit::TestCase
|
|||||||
|
|
||||||
def test_ractor
|
def test_ractor
|
||||||
assert_ractor(<<~'end;', require: "tmpdir")
|
assert_ractor(<<~'end;', require: "tmpdir")
|
||||||
port = Ractor::Port.new
|
if defined?(Ractor::Port)
|
||||||
r = Ractor.new port do |port|
|
port = Ractor::Port.new
|
||||||
Dir.mktmpdir() do |d|
|
r = Ractor.new port do |port|
|
||||||
port << d
|
Dir.mktmpdir() do |d|
|
||||||
Ractor.receive
|
port << d
|
||||||
|
Ractor.receive
|
||||||
|
end
|
||||||
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
|
end
|
||||||
dir = port.receive
|
|
||||||
assert_file.directory? dir
|
|
||||||
r.send true
|
|
||||||
r.join
|
|
||||||
assert_file.not_exist? dir
|
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user