diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-11-07 10:08:30 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-11-07 10:08:30 +0900 |
| commit | b02b8e77562661865b380d78e7621edfd8149a8f (patch) | |
| tree | bd5d50feb51644332e1fdac231e1b0172ed0a7c3 /spec/ruby | |
| parent | ab01b8f23f1e218fa5a360806120a1d6eaaa228f (diff) | |
Let other test runners follow the change of GNU make 4.4 jobserver
Diffstat (limited to 'spec/ruby')
| -rw-r--r-- | spec/ruby/optional/capi/spec_helper.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/spec/ruby/optional/capi/spec_helper.rb b/spec/ruby/optional/capi/spec_helper.rb index ec6b909397..9c85751974 100644 --- a/spec/ruby/optional/capi/spec_helper.rb +++ b/spec/ruby/optional/capi/spec_helper.rb @@ -113,12 +113,20 @@ def setup_make end opts = {} - if /(?:\A|\s)--jobserver-(?:auth|fds)=(\d+),(\d+)/ =~ make_flags + if /(?:\A|\s)--jobserver-(?:auth|fds)=(?:(\d+),(\d+)|fifo:((?:\\.|\S)+))/ =~ make_flags begin - r = IO.for_fd($1.to_i(10), "rb", autoclose: false) - w = IO.for_fd($2.to_i(10), "wb", autoclose: false) + if fifo = $3 + fifo.gsub!(/\\(?=.)/, '') + r = File.open(fifo, IO::RDONLY|IO::NONBLOCK|IO::BINARY) + w = File.open(fifo, IO::WRONLY|IO::NONBLOCK|IO::BINARY) + else + r = IO.for_fd($1.to_i(10), "rb", autoclose: false) + w = IO.for_fd($2.to_i(10), "wb", autoclose: false) + end rescue Errno::EBADF else + r.close_on_exec = true + w.close_on_exec = true opts[r] = r opts[w] = w end |
