summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/test/unit.rb6
-rw-r--r--lib/test/unit/testcase.rb6
-rw-r--r--test/testunit/tests_for_parallel/misc.rb47
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) <sorah@tubusu.net>
+
+ * 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) <sorah@tubusu.net>
* 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