summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-11 11:03:55 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-11 23:15:46 +0900
commiteb016d835373cdce6f08694e527d7a569c208cb5 (patch)
tree00fa9bee45b2271031787f55134bfcea2f69e788 /test
parent39ae88ad0dd0f8d7cf732e8567af13e7f2ce9748 (diff)
Generalize timeout_scale
* test/lib/test/unit.rb (Test::Unit::TimeoutOption): renamed SubprocessOption. * test/lib/test/unit.rb (Test::Unit::TimeoutOption#setup_options): prefer `--timeout-scale` option. * test/lib/test/unit.rb (Test::Unit::TimeoutOption#non_options): prefer `ENV["RUBY_TEST_TIMEOUT_SCALE"]`.
Diffstat (limited to 'test')
-rw-r--r--test/lib/envutil.rb4
-rw-r--r--test/lib/test/unit.rb17
2 files changed, 11 insertions, 10 deletions
diff --git a/test/lib/envutil.rb b/test/lib/envutil.rb
index f9c0e57fcf..b4eb63da90 100644
--- a/test/lib/envutil.rb
+++ b/test/lib/envutil.rb
@@ -45,7 +45,7 @@ module EnvUtil
RUBYLIB = ENV["RUBYLIB"]
class << self
- attr_accessor :subprocess_timeout_scale
+ attr_accessor :timeout_scale
attr_reader :original_internal_encoding, :original_external_encoding,
:original_verbose
@@ -57,7 +57,7 @@ module EnvUtil
end
def apply_timeout_scale(t)
- if scale = EnvUtil.subprocess_timeout_scale
+ if scale = EnvUtil.timeout_scale
t * scale
else
t
diff --git a/test/lib/test/unit.rb b/test/lib/test/unit.rb
index 16db7ad9c3..3df6774d61 100644
--- a/test/lib/test/unit.rb
+++ b/test/lib/test/unit.rb
@@ -195,10 +195,10 @@ module Test
class Worker
def self.launch(ruby,args=[])
- scale = EnvUtil.subprocess_timeout_scale
+ scale = EnvUtil.timeout_scale
io = IO.popen([*ruby, "-W1",
"#{File.dirname(__FILE__)}/unit/parallel.rb",
- *("--subprocess-timeout-scale=#{scale}" if scale),
+ *("--timeout-scale=#{scale}" if scale),
*args], "rb+")
new(io, io.pid, :waiting)
end
@@ -1031,11 +1031,11 @@ module Test
end
end
- module SubprocessOption
+ module TimeoutOption
def setup_options(parser, options)
super
- parser.separator "subprocess options:"
- parser.on '--subprocess-timeout-scale NUM', "Scale subprocess timeout", Float do |scale|
+ parser.separator "timeout options:"
+ parser.on '--timeout-scale NUM', '--subprocess-timeout-scale NUM', "Scale timeout", Float do |scale|
raise OptionParser::InvalidArgument, "timeout scale must be positive" unless scale > 0
options[:timeout_scale] = scale
end
@@ -1043,8 +1043,9 @@ module Test
def non_options(files, options)
if scale = options[:timeout_scale] or
- (scale = ENV["RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE"] and (scale = scale.to_f) > 0)
- EnvUtil.subprocess_timeout_scale = scale
+ (scale = ENV["RUBY_TEST_TIMEOUT_SCALE"] || ENV["RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE"] and
+ (scale = scale.to_f) > 0)
+ EnvUtil.timeout_scale = scale
end
super
end
@@ -1061,7 +1062,7 @@ module Test
include Test::Unit::LoadPathOption
include Test::Unit::GCStressOption
include Test::Unit::ExcludesOption
- include Test::Unit::SubprocessOption
+ include Test::Unit::TimeoutOption
include Test::Unit::RunCount
class << self; undef autorun; end