From: "usa (Usaku NAKAMURA)" Date: 2012-08-16T16:54:33+09:00 Subject: [ruby-dev:46054] [ruby-trunk - Bug #6882][Assigned] parallel test crashes when unknown exception is occured in a test Issue #6882 has been reported by usa (Usaku NAKAMURA). ---------------------------------------- Bug #6882: parallel test crashes when unknown exception is occured in a test https://bugs.ruby-lang.org/issues/6882 Author: usa (Usaku NAKAMURA) Status: Assigned Priority: Normal Assignee: sorah (Shota Fukumori) Category: lib Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-08-16 trunk 36711) test-allを-j付きで実行していると、例えばrdocあたりがバグっていて RDoc::Errorあたりでテストに失敗した場合、masterはRDoc::Errorという 例外を知らないわけですが、にもかかわらずMarshal.loadしようとするので master自体がクラッシュしてしまいます。 worker側からは、masterが知ってる例外が何かを知る方法はおそらくないので、 全てのエラー時の例外を適当にラップして渡すか、そもそも例外をMashal.dump するのをやめるか、のいずれかの方法しかないような気がします。 後者は大変めんどくさいのですが、前者はやってみたらできたのでパッチを 添付します。 実際のレポート表示に使われるメッセージは例外オブジェクトから組み立ててる わけじゃなくてworker側のメッセージを利用してるようなので、この程度で問題 なさそうに見えます。 -- http://bugs.ruby-lang.org/