summaryrefslogtreecommitdiff
path: root/tool/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-03-07 13:45:38 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2021-03-08 09:35:25 +0900
commit21e255913c5d00426bcc4d69e3d444b45635a534 (patch)
tree18c16aa3546753e947693c31c80af23fd8c421a4 /tool/lib
parentc3c18007086df2b126f25483d82d72adafb2da7e (diff)
[ruby/stringio] Pass IOs as separate list for ruby 2.x
https://github.com/ruby/stringio/commit/74e39858eb
Diffstat (limited to 'tool/lib')
-rw-r--r--tool/lib/envutil.rb6
-rw-r--r--tool/lib/test/unit/core_assertions.rb2
2 files changed, 5 insertions, 3 deletions
diff --git a/tool/lib/envutil.rb b/tool/lib/envutil.rb
index 937e1128a6..0391b90c1c 100644
--- a/tool/lib/envutil.rb
+++ b/tool/lib/envutil.rb
@@ -125,7 +125,7 @@ module EnvUtil
def invoke_ruby(args, stdin_data = "", capture_stdout = false, capture_stderr = false,
encoding: nil, timeout: 10, reprieve: 1, timeout_error: Timeout::Error,
- stdout_filter: nil, stderr_filter: nil,
+ stdout_filter: nil, stderr_filter: nil, ios: nil,
signal: :TERM,
rubybin: EnvUtil.rubybin, precommand: nil,
**opt)
@@ -141,6 +141,8 @@ module EnvUtil
out_p.set_encoding(encoding) if out_p
err_p.set_encoding(encoding) if err_p
end
+ ios.each {|i, o = i|opt[i] = o} if ios
+
c = "C"
child_env = {}
LANG_ENVS.each {|lc| child_env[lc] = c}
@@ -152,7 +154,7 @@ module EnvUtil
end
child_env['ASAN_OPTIONS'] = ENV['ASAN_OPTIONS'] if ENV['ASAN_OPTIONS']
args = [args] if args.kind_of?(String)
- pid = spawn(child_env, *precommand, rubybin, *args, **opt)
+ pid = spawn(child_env, *precommand, rubybin, *args, opt)
in_c.close
out_c&.close
out_c = nil
diff --git a/tool/lib/test/unit/core_assertions.rb b/tool/lib/test/unit/core_assertions.rb
index 118c0d111b..c7762f05ab 100644
--- a/tool/lib/test/unit/core_assertions.rb
+++ b/tool/lib/test/unit/core_assertions.rb
@@ -278,7 +278,7 @@ module Test
capture_stdout = false
opt[:out] = MiniTest::Unit.output if defined?(MiniTest::Unit)
res_p, res_c = IO.pipe
- opt[res_c.fileno] = res_c.fileno
+ opt[:ios] = [res_c]
end
src = <<eom
# -*- coding: #{line += __LINE__; src.encoding}; -*-