From e47078fb306bc6ec07b01df8d0c811c43ff6e0ae Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Thu, 20 Mar 2025 12:38:11 -0400 Subject: [PATCH] [ruby/prism] Update ractor_test.rb per review https://github.com/ruby/prism/commit/fd96a6821f --- test/prism/ractor_test.rb | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/test/prism/ractor_test.rb b/test/prism/ractor_test.rb index c090ecc32b..fa53780744 100644 --- a/test/prism/ractor_test.rb +++ b/test/prism/ractor_test.rb @@ -1,11 +1,9 @@ # frozen_string_literal: true -return unless defined?(Ractor) +return if !defined?(Ractor) || !defined?(fork) require_relative "test_helper" -return if Prism::TestCase.windows? - module Prism class RactorTest < TestCase def test_version @@ -60,19 +58,13 @@ module Prism # Note that this must be done in a subprocess, otherwise it can mess up # CRuby's test suite. def with_ractor(*arguments, &block) - reader, writer = IO.pipe - - pid = fork do - reader.close - writer.puts(ignore_warnings { Ractor.new(*arguments, &block) }.take) + IO.popen("-") do |reader| + if reader + reader.gets.chomp + else + puts(ignore_warnings { Ractor.new(*arguments, &block) }.take) + end end - - writer.close - result = reader.gets.chomp - reader.close - - Process.wait(pid) - result end end end