capi/spec_helper.rb: pass jobserver fds

* spec/mspec/lib/mspec/commands/mspec.rb (MSpecMain#multi_exec):
  do not close GNU make jobserver auth fds.

* spec/rubyspec/optional/capi/spec_helper.rb (compile_extension):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-06-17 00:18:33 +00:00
Родитель 0955d9101c
Коммит 3947382b87
2 изменённых файлов: 2 добавлений и 3 удалений

Просмотреть файл

@ -109,7 +109,7 @@ class MSpecMain < MSpecScript
}
command = argv + ["-fy", "-o", name]
$stderr.puts "$ #{command.join(' ')}" if $MSPEC_DEBUG
IO.popen([env, *command], "rb+")
IO.popen([env, *command, close_others: false], "rb+")
}
puts children.map { |child| child.gets }.uniq

Просмотреть файл

@ -57,10 +57,9 @@ def compile_extension(name)
make = ENV['MAKE']
make ||= (RbConfig::CONFIG['host_os'].include?("mswin") ? "nmake" : "make")
ENV.delete "MAKEFLAGS" # Fix make warning when invoked with -j in MRI
# Do not capture stderr as we want to show compiler warnings
output = `#{make} V=1 DESTDIR=`
output = IO.popen([make, "V=1", "DESTDIR=", close_others: false], &:read)
raise "#{make} failed:\n#{output}" unless $?.success?
$stderr.puts output if debug