From bb03948945ebc4aabc44a9fa24ac6439e5a115f4 Mon Sep 17 00:00:00 2001 From: Lachlan Sylvester Date: Tue, 9 Oct 2018 18:13:12 +1100 Subject: resque errors caused by Marshal dump failures and wrap exceptions in marshallable DRbRemoteError --- activesupport/lib/active_support/testing/parallelization.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'activesupport/lib/active_support') diff --git a/activesupport/lib/active_support/testing/parallelization.rb b/activesupport/lib/active_support/testing/parallelization.rb index beeb470659..615fe0238e 100644 --- a/activesupport/lib/active_support/testing/parallelization.rb +++ b/activesupport/lib/active_support/testing/parallelization.rb @@ -78,7 +78,14 @@ module ActiveSupport reporter = job[2] result = Minitest.run_one_method(klass, method) - queue.record(reporter, result) + begin + queue.record(reporter, result) + rescue DRb::DRbConnError + result.failures.each do |failure| + failure.exception = DRb::DRbRemoteError.new(failure.exception) + end + queue.record(reporter, result) + end end ensure run_cleanup(worker) -- cgit v1.2.3