summaryrefslogtreecommitdiff
path: root/tool/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-02-29 18:05:00 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-02-29 18:05:00 +0900
commit114c0b71be05848e4f1dafcaa3321e09f103bdaa (patch)
tree9b4cf910a58d22b16311556343ecd78cb5d97c5d /tool/lib
parent51e32523c2de49b15e66dfa612d316fba7999497 (diff)
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.
Diffstat (limited to 'tool/lib')
-rw-r--r--tool/lib/test/unit.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/tool/lib/test/unit.rb b/tool/lib/test/unit.rb
index a068ae6b9d..01c53e929c 100644
--- a/tool/lib/test/unit.rb
+++ b/tool/lib/test/unit.rb
@@ -716,7 +716,15 @@ module Test
del_status_line or puts
error, suites = suites.partition {|r| r[:error]}
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]
suites.map! {|r| ::Object.const_get(r[:testcase])}
_run_suites(suites, type)