X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9635a624bcd0aa8ead0b0005a4a50a18400ad1a3..c7e32be4c2831d9f8a77c0f5a5e21bb736d2204b:/apps/workbench/test/test_helper.rb?ds=inline diff --git a/apps/workbench/test/test_helper.rb b/apps/workbench/test/test_helper.rb index 1d26deefa3..69cf43b1a2 100644 --- a/apps/workbench/test/test_helper.rb +++ b/apps/workbench/test/test_helper.rb @@ -348,3 +348,29 @@ end # Reset fixtures now (i.e., before any tests run). ActiveSupport::TestCase.reset_api_fixtures_now + +module Minitest + class Test + def capture_exceptions *args + begin + n = 0 + begin + yield + rescue *PASSTHROUGH_EXCEPTIONS + raise + rescue Exception => e + n += 1 + raise if n > 2 + STDERR.puts "Test failed, retrying (##{n})" + retry + end + rescue *PASSTHROUGH_EXCEPTIONS + raise + rescue Assertion => e + self.failures << e + rescue Exception => e + self.failures << UnexpectedError.new(e) + end + end + end +end