aboutsummaryrefslogtreecommitdiffstats
path: root/test/lib
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-25 23:43:33 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-05-25 23:43:33 +0000
commit834b281a527fb530522e8d2adca3f1becade1f08 (patch)
tree36a7c60b04331d2a62d0339eb8ffa19fad89ac4a /test/lib
parent418904e6cafc7aa0c0a88b80d5452a580e6c2e88 (diff)
downloadruby-834b281a527fb530522e8d2adca3f1becade1f08.tar.gz
use timeout scale.
* test/lib/envutil.rb: introduce EnvUtil.apply_timeout_scale to use this scale from outside. * test/ruby/test_thread.rb (test_fork_in_thread): respect timeout scale. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/envutil.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/test/lib/envutil.rb b/test/lib/envutil.rb
index e6cdd776e2..152ea741c9 100644
--- a/test/lib/envutil.rb
+++ b/test/lib/envutil.rb
@@ -46,16 +46,24 @@ module EnvUtil
attr_accessor :subprocess_timeout_scale
end
+ def apply_timeout_scale(t)
+ if scale = EnvUtil.subprocess_timeout_scale
+ t * scale
+ else
+ t
+ end
+ end
+ module_function :apply_timeout_scale
+
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,
signal: :TERM,
rubybin: EnvUtil.rubybin,
**opt)
- if scale = EnvUtil.subprocess_timeout_scale
- timeout *= scale if timeout
- reprieve *= scale if reprieve
- end
+ timeout = apply_timeout_scale(timeout)
+ reprieve = apply_timeout_scale(reprieve) if reprieve
+
in_c, in_p = IO.pipe
out_p, out_c = IO.pipe if capture_stdout
err_p, err_c = IO.pipe if capture_stderr && capture_stderr != :merge_to_stdout