@@ -88,6 +88,7 @@ def __init__(self):
8888 self .skipped = []
8989 self .resource_denieds = []
9090 self .environment_changed = []
91+ self .rerun = []
9192 self .interrupted = False
9293
9394 # used by --slow
@@ -283,8 +284,10 @@ def rerun_failed_tests(self):
283284 self .ns .verbose3 = False
284285 self .ns .match_tests = None
285286
287+ print ()
286288 print ("Re-running failed tests in verbose mode" )
287- for test in self .bad [:]:
289+ self .rerun = self .bad [:]
290+ for test in self .rerun :
288291 print ("Re-running test %r in verbose mode" % test , flush = True )
289292 try :
290293 self .ns .verbose = True
@@ -302,22 +305,32 @@ def rerun_failed_tests(self):
302305 print (count (len (self .bad ), 'test' ), "failed again:" )
303306 printlist (self .bad )
304307
308+ self .display_result ()
309+
305310 def display_result (self ):
311+ # If running the test suite for PGO then no one cares about results.
312+ if self .ns .pgo :
313+ return
314+
315+ print ()
316+ print ("== Tests result ==" )
317+
306318 if self .interrupted :
307- # print a newline after ^C
308319 print ()
320+ # print a newline after ^C
309321 print ("Test suite interrupted by signal SIGINT." )
310322 executed = set (self .good ) | set (self .bad ) | set (self .skipped )
311323 omitted = set (self .selected ) - executed
312324 print (count (len (omitted ), "test" ), "omitted:" )
313325 printlist (omitted )
314326
315- # If running the test suite for PGO then no one cares about
316- # results.
317- if self .ns . pgo :
318- return
327+ if self . rerun :
328+ print ()
329+ print ( count ( len ( self .rerun ), "test" ), "re-run tests:" )
330+ printlist ( self . rerun )
319331
320332 if self .good and not self .ns .quiet :
333+ print ()
321334 if (not self .bad
322335 and not self .skipped
323336 and not self .interrupted
0 commit comments