From 834b281a527fb530522e8d2adca3f1becade1f08 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 25 May 2017 23:43:33 +0000 Subject: 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 --- test/lib/envutil.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'test/lib') 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 -- cgit v1.2.3