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