From e9c22a6f1a0b1f7afe2ca282209015e48fef5795 Mon Sep 17 00:00:00 2001 From: sorah Date: Thu, 24 Feb 2011 01:08:51 +0000 Subject: * test/testunit/tests_for_parallel/misc.rb: Fix bug in r30947. * lib/test/unit.rb, lib/test/unit/assertions.rb: For this test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++ lib/test/unit.rb | 6 ++++ lib/test/unit/testcase.rb | 6 ++++ test/testunit/tests_for_parallel/misc.rb | 47 ++++++++++++++++++-------------- 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index c248989485..458f942db6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 24 10:05:55 2011 Shota Fukumori (sora_h) + + * test/testunit/tests_for_parallel/misc.rb: Fix bug in r30947. + * lib/test/unit.rb, lib/test/unit/assertions.rb: For this test. + Wed Feb 23 23:07:38 2011 Shota Fukumori (sora_h) * test/testunit/test_parallel.rb, test/testunit/parallel/*: diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 6c4cecc442..52e67b97ac 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -32,6 +32,7 @@ module Test module Options def initialize(*, &block) @init_hook = block + @options = nil super(&nil) end @@ -232,6 +233,11 @@ module Test alias orig_run_anything _run_anything undef _run_anything + undef options + + def options + @optss ||= (@options||{}).merge(@opts) + end def _run_anything type if @opts[:parallel] && @warnings diff --git a/lib/test/unit/testcase.rb b/lib/test/unit/testcase.rb index ec3d362c21..f3d77744eb 100644 --- a/lib/test/unit/testcase.rb +++ b/lib/test/unit/testcase.rb @@ -7,6 +7,12 @@ module Test class TestCase < MiniTest::Unit::TestCase include Assertions + + def run runner + @options = runner.options + super runner + end + def self.test_order :sorted end diff --git a/test/testunit/tests_for_parallel/misc.rb b/test/testunit/tests_for_parallel/misc.rb index c0fa31d798..f60b25d6c3 100644 --- a/test/testunit/tests_for_parallel/misc.rb +++ b/test/testunit/tests_for_parallel/misc.rb @@ -1,31 +1,36 @@ -module Test - module Unit - class Worker - def run_tests - _run_anything :ptest +# FIXME: more portability code +if caller(7) && /block in non_options/ =~ caller(7)[0] + class TestCaseForParallelTest < Test::Unit::TestCase;end +else + module Test + module Unit + class Worker + def run_tests + _run_anything :ptest + end end - end - class Runner - def run_tests - _run_anything :ptest + class Runner + def run_tests + _run_anything :ptest + end end end end -end -module MiniTest - class Unit - class << TestCase - alias ptest_suites test_suites - def ptest_methods;[];end + module MiniTest + class Unit + class << TestCase + alias ptest_suites test_suites + def ptest_methods;[];end + end end end -end -class TestCaseForParallelTest < Test::Unit::TestCase - class << self - undef ptest_methods - def ptest_methods - public_instance_methods(true).grep(/^ptest/).map { |m| m.to_s } + class TestCaseForParallelTest < Test::Unit::TestCase + class << self + undef ptest_methods + def ptest_methods + public_instance_methods(true).grep(/^ptest/).map { |m| m.to_s } + end end end end -- cgit v1.2.3