summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-10-02 16:02:00 +0900
committerKoichi Sasada <ko1@atdot.net>2019-10-02 16:23:00 +0900
commit84cbce3d880f0d6a51ccf3622b8d1e79132b9a0e (patch)
treedea59cf2be73dd88c7fe14f2a6d7346a650c5e40 /tool
parent99d3043bd8e7705cb5ec1772080667981bd07a36 (diff)
Enable checkers on parallel test.
parallel test (`make test-all TESTS=-j8`) runs tests on specified number of processes. However, some test checkers written in `runner.rb` are not loaded. This fix enable these checkers on parallel tests. See also: https://github.com/ruby/ruby/pull/2508
Diffstat (limited to 'tool')
-rw-r--r--tool/lib/iseq_loader_checker.rb6
-rw-r--r--tool/lib/test/unit/parallel.rb5
-rw-r--r--tool/test/runner.rb8
3 files changed, 14 insertions, 5 deletions
diff --git a/tool/lib/iseq_loader_checker.rb b/tool/lib/iseq_loader_checker.rb
index e7cfc79521..3f07b3a999 100644
--- a/tool/lib/iseq_loader_checker.rb
+++ b/tool/lib/iseq_loader_checker.rb
@@ -39,7 +39,11 @@ class RubyVM::InstructionSequence
end
opt = ENV['RUBY_ISEQ_DUMP_DEBUG']
- puts "RUBY_ISEQ_DUMP_DEBUG = #{opt}" if opt
+
+ if opt && caller.any?{|e| /test\/runner\.rb/ =~ e}
+ puts "RUBY_ISEQ_DUMP_DEBUG = #{opt}" if opt
+ end
+
CHECK_TO_A = 'to_a' == opt
CHECK_TO_BINARY = 'to_binary' == opt
diff --git a/tool/lib/test/unit/parallel.rb b/tool/lib/test/unit/parallel.rb
index 730d7a7f3d..12600676db 100644
--- a/tool/lib/test/unit/parallel.rb
+++ b/tool/lib/test/unit/parallel.rb
@@ -2,6 +2,11 @@
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../.."
require 'test/unit'
+require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
+require "tracepointchecker"
+require "zombie_hunter"
+require "iseq_loader_checker"
+
module Test
module Unit
class Worker < Runner # :nodoc:
diff --git a/tool/test/runner.rb b/tool/test/runner.rb
index 1ee4fdf8c6..708d654935 100644
--- a/tool/test/runner.rb
+++ b/tool/test/runner.rb
@@ -5,10 +5,10 @@ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
require 'test/unit'
-require_relative "../lib/profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
-require_relative "../lib/tracepointchecker"
-require_relative "../lib/zombie_hunter"
-require_relative "../lib/iseq_loader_checker"
+require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
+require "tracepointchecker"
+require "zombie_hunter"
+require "iseq_loader_checker"
require_relative "../test-coverage.rb" if ENV.key?('COVERAGE')
case $0