From 04b26db5ef999b1afd94cadb819dbc6b2b6e9da9 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 4 Jun 2025 14:07:26 +0900 Subject: [PATCH] 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 --- tool/lib/core_assertions.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tool/lib/core_assertions.rb b/tool/lib/core_assertions.rb index ede490576c..1900b7088d 100644 --- a/tool/lib/core_assertions.rb +++ b/tool/lib/core_assertions.rb @@ -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