diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-06-11 11:03:55 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-06-11 23:15:46 +0900 |
commit | eb016d835373cdce6f08694e527d7a569c208cb5 (patch) | |
tree | 00fa9bee45b2271031787f55134bfcea2f69e788 /test | |
parent | 39ae88ad0dd0f8d7cf732e8567af13e7f2ce9748 (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.rb | 4 | ||||
-rw-r--r-- | test/lib/test/unit.rb | 17 |
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 |