mirror of
https://github.com/ruby/ruby.git
synced 2025-09-17 01:23:57 +02:00
merge revision(s) r45953,r45961: [Backport #9767]
* 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. But it causes Marshal.load failure due to undefined class/module complete. We create new MiniTest::Skip object to avoid Marshal.load git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
fa2937a16a
commit
3eb0620c2a
5 changed files with 34 additions and 5 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue