File tree 1 file changed +7
-15
lines changed
1 file changed +7
-15
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
- return unless defined? ( Ractor )
3
+ return if ! defined? ( Ractor ) || ! defined? ( fork )
4
4
5
5
require_relative "test_helper"
6
6
7
- return if Prism ::TestCase . windows?
8
-
9
7
module Prism
10
8
class RactorTest < TestCase
11
9
def test_version
@@ -60,19 +58,13 @@ def test_dump_file
60
58
# Note that this must be done in a subprocess, otherwise it can mess up
61
59
# CRuby's test suite.
62
60
def with_ractor ( *arguments , &block )
63
- reader , writer = IO . pipe
64
-
65
- pid = fork do
66
- reader . close
67
- writer . puts ( ignore_warnings { Ractor . new ( *arguments , &block ) } . take )
61
+ IO . popen ( "-" ) do |reader |
62
+ if reader
63
+ reader . gets . chomp
64
+ else
65
+ puts ( ignore_warnings { Ractor . new ( *arguments , &block ) } . take )
66
+ end
68
67
end
69
-
70
- writer . close
71
- result = reader . gets . chomp
72
- reader . close
73
-
74
- Process . wait ( pid )
75
- result
76
68
end
77
69
end
78
70
end
You can’t perform that action at this time.
0 commit comments