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:
nagachika 2014-07-23 14:53:36 +00:00
parent fa2937a16a
commit 3eb0620c2a
5 changed files with 34 additions and 5 deletions

View file

@ -155,6 +155,11 @@ module Test
end
def puke(klass, meth, e) # :nodoc:
if e.is_a?(MiniTest::Skip)
new_e = MiniTest::Skip.new(e.message)
new_e.set_backtrace(e.backtrace)
e = new_e
end
@partial_report << [klass.name, meth, e.is_a?(MiniTest::Assertion) ? e : ProxyError.new(e)]
super
end