Inform failures in parallel tests before retrying

Displays for each failure which test it actually occurred in.  The
output destination follows the --{stdout,stderr}-on-failure option.
This commit is contained in:
Nobuyoshi Nakada 2024-02-29 18:05:00 +09:00
parent 51e32523c2
commit 114c0b71be
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465

View File

@ -716,7 +716,15 @@ module Test
del_status_line or puts del_status_line or puts
error, suites = suites.partition {|r| r[:error]} error, suites = suites.partition {|r| r[:error]}
unless suites.empty? unless suites.empty?
puts "\n""Retrying..." puts "\n"
@failed_output.puts "Failed tests:"
suites.each {|r|
r[:report].each {|c, m, e|
@failed_output.puts "#{c}##{m}: #{e&.class}: #{e&.message&.slice(/\A.*/)}"
}
}
@failed_output.puts "\n"
puts "Retrying..."
@verbose = options[:verbose] @verbose = options[:verbose]
suites.map! {|r| ::Object.const_get(r[:testcase])} suites.map! {|r| ::Object.const_get(r[:testcase])}
_run_suites(suites, type) _run_suites(suites, type)