2020-12-22 06:30:59 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
require "test/unit"
|
|
|
|
require "fiber"
|
|
|
|
|
|
|
|
class TestFiberCurrentRactor < Test::Unit::TestCase
|
|
|
|
def setup
|
2022-01-11 12:17:53 +00:00
|
|
|
omit unless defined? Ractor
|
2020-12-22 06:30:59 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_ractor_shareable
|
|
|
|
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
|
|
|
|
begin;
|
2020-12-22 07:01:53 +00:00
|
|
|
$VERBOSE = nil
|
2020-12-22 06:30:59 +00:00
|
|
|
require "fiber"
|
|
|
|
r = Ractor.new do
|
|
|
|
Fiber.new do
|
|
|
|
Fiber.current.class
|
|
|
|
end.resume
|
|
|
|
end
|
|
|
|
assert_equal(Fiber, r.take)
|
|
|
|
end;
|
|
|
|
end
|
|
|
|
end
|