Support Ractor#value and Ractor#join for old versions of Ruby

https://github.com/ruby/test-unit-ruby-core/pull/9
https://github.com/ruby/test-unit-ruby-core/pull/10
This commit is contained in:
Hiroshi SHIBATA 2025-06-04 14:07:26 +09:00
parent 50400f3bb2
commit 04b26db5ef
No known key found for this signature in database
GPG Key ID: F9CF13417264FAC2

View File

@ -371,6 +371,10 @@ eom
def assert_ractor(src, args: [], require: nil, require_relative: nil, file: nil, line: nil, ignore_stderr: nil, **opt)
return unless defined?(Ractor)
# https://bugs.ruby-lang.org/issues/21262
shim_value = "class Ractor; alias value take; end" unless Ractor.method_defined?(:value)
shim_join = "class Ractor; alias join take; end" unless Ractor.method_defined?(:join)
require = "require #{require.inspect}" if require
if require_relative
dir = File.dirname(caller_locations[0,1][0].absolute_path)
@ -379,6 +383,8 @@ eom
end
assert_separately(args, file, line, <<~RUBY, ignore_stderr: ignore_stderr, **opt)
#{shim_value}
#{shim_join}
#{require}
previous_verbose = $VERBOSE
$VERBOSE = nil