Skip to content

Commit c6c05d0

Browse files
authored
regrtest: repeat summary after re-run (GH-7159)
Using -w, when failing tests are re-run in verbose mode, display again the tests results at the end.
1 parent dbf1022 commit c6c05d0

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

Lib/test/libregrtest/main.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)