summaryrefslogtreecommitdiff
path: root/test/testunit
diff options
context:
space:
mode:
authorshirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-15 12:31:26 +0000
committershirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-15 12:31:26 +0000
commiteceff15e68504ac908133abe3c7e62894e97aeaa (patch)
treee14f493d3df7de796473e22cd8ce4ca46b400ffa /test/testunit
parent27082c9dfaa610dc2b6492502d0207ea4e570e17 (diff)
parallel.rb: fix test-all parallel failure
* lib/test/unit/parallel.rb: fix test-all parallel failure if a test is skipped after raise. DL::TestFunc#test_sinf is skipped after raise on mingw ruby. But it causes Mashal.load failure due to undefined class/module DL::DLError when doing test-all parallel and test-all doesn't complete. We create new MiniTest::Skip object to avoid Mashal.load failure. [ruby-core:62133] [Bug #9767] * test/testunit/test_parallel.rb (TestParallel): add a test. * test/testunit/tests_for_parallel/ptest_forth.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/testunit')
-rw-r--r--test/testunit/test_parallel.rb9
-rw-r--r--test/testunit/tests_for_parallel/ptest_forth.rb8
2 files changed, 13 insertions, 4 deletions
diff --git a/test/testunit/test_parallel.rb b/test/testunit/test_parallel.rb
index f1b903b..6276aac 100644
--- a/test/testunit/test_parallel.rb
+++ b/test/testunit/test_parallel.rb
@@ -90,7 +90,7 @@ module TestParallel
def test_done
timeout(10) do
@worker_in.puts "run #{TESTS}/ptest_forth.rb test"
- 6.times { @worker_out.gets }
+ 7.times { @worker_out.gets }
buf = @worker_out.gets
assert_match(/^done (.+?)$/, buf)
@@ -98,7 +98,7 @@ module TestParallel
result = Marshal.load($1.chomp.unpack("m")[0])
- assert_equal(4, result[0])
+ assert_equal(5, result[0])
assert_equal(2, result[1])
assert_kind_of(Array,result[2])
assert_kind_of(Array,result[3])
@@ -106,7 +106,8 @@ module TestParallel
assert_kind_of(Array,result[2][1])
assert_kind_of(MiniTest::Assertion,result[2][0][2])
assert_kind_of(MiniTest::Skip,result[2][1][2])
- assert_kind_of(Exception, result[2][2][2])
+ assert_kind_of(MiniTest::Skip,result[2][2][2])
+ assert_kind_of(Exception, result[2][3][2])
assert_equal(result[5], "TestE")
end
end
@@ -156,7 +157,7 @@ module TestParallel
def test_should_run_all_without_any_leaks
spawn_runner
buf = timeout(10){@test_out.read}
- assert_match(/^[SFE\.]{8}$/,buf)
+ assert_match(/^[SFE\.]{9}$/,buf)
end
def test_should_retry_failed_on_workers
diff --git a/test/testunit/tests_for_parallel/ptest_forth.rb b/test/testunit/tests_for_parallel/ptest_forth.rb
index ad5a7f3..46c88da 100644
--- a/test/testunit/tests_for_parallel/ptest_forth.rb
+++ b/test/testunit/tests_for_parallel/ptest_forth.rb
@@ -15,6 +15,14 @@ class TestE < Test::Unit::TestCase
assert_equal(0,1)
end
+ def test_skip_after_unknown_error
+ begin
+ raise UnknownError, "unknown error"
+ rescue
+ skip "after raise"
+ end
+ end
+
def test_unknown_error
raise UnknownError, "unknown error"
end