mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fix crash in test runner on timeout
When a test worker hangs and timeouts, the test runner crashes with the following stack trace: ruby/tool/lib/test/unit.rb:1747:in `puke': undefined method `backtrace' for Timeout::Error:Class (NoMethodError) from ruby/tool/lib/test/unit.rb:790:in `block in _run_parallel' from ruby/tool/lib/test/unit.rb:788:in `each' This commit adds handling for Timeout::Error and outputs a message.
This commit is contained in:
parent
81e84e0a4d
commit
b777408c33
1 changed files with 4 additions and 1 deletions
|
@ -787,7 +787,7 @@ module Test
|
|||
unless rep.empty?
|
||||
rep.each do |r|
|
||||
if r[:error]
|
||||
puke(*r[:error], Timeout::Error)
|
||||
puke(*r[:error], Timeout::Error.new)
|
||||
next
|
||||
end
|
||||
r[:report]&.each do |f|
|
||||
|
@ -1742,6 +1742,9 @@ module Test
|
|||
when Test::Unit::AssertionFailedError then
|
||||
@failures += 1
|
||||
"Failure:\n#{klass}##{meth} [#{location e}]:\n#{e.message}\n"
|
||||
when Timeout::Error
|
||||
@errors += 1
|
||||
"Timeout:\n#{klass}##{meth}\n"
|
||||
else
|
||||
@errors += 1
|
||||
bt = Test::filter_backtrace(e.backtrace).join "\n "
|
||||
|
|
Loading…
Add table
Reference in a new issue