Skip to content

Commit 645c590

Browse files
vstinnermiss-islington
authored andcommitted
bpo-45118: Fix regrtest second summary for re-run tests (pythonGH-28183)
Fix regrtest second summary when using -w/--verbose2 command line option: lists re-run tests in the second test summary. (cherry picked from commit c4ea45d) Co-authored-by: Victor Stinner <[email protected]>
1 parent 9ad2184 commit 645c590

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Lib/test/libregrtest/main.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def __init__(self):
6666
self.resource_denieds = []
6767
self.environment_changed = []
6868
self.run_no_tests = []
69+
self.need_rerun = []
6970
self.rerun = []
7071
self.first_result = None
7172
self.interrupted = False
@@ -116,7 +117,7 @@ def accumulate_result(self, result, rerun=False):
116117
elif isinstance(result, Failed):
117118
if not rerun:
118119
self.bad.append(test_name)
119-
self.rerun.append(result)
120+
self.need_rerun.append(result)
120121
elif isinstance(result, DidNotRun):
121122
self.run_no_tests.append(test_name)
122123
elif isinstance(result, Interrupted):
@@ -309,10 +310,12 @@ def rerun_failed_tests(self):
309310

310311
self.log()
311312
self.log("Re-running failed tests in verbose mode")
312-
rerun_list = self.rerun[:]
313-
self.rerun = []
313+
rerun_list = list(self.need_rerun)
314+
self.need_rerun.clear()
314315
for result in rerun_list:
315316
test_name = result.name
317+
self.rerun.append(test_name)
318+
316319
errors = result.errors or []
317320
failures = result.failures or []
318321
error_names = [test_full_name.split(" ")[0] for (test_full_name, *_) in errors]
@@ -394,7 +397,7 @@ def display_result(self):
394397
if self.rerun:
395398
print()
396399
print("%s:" % count(len(self.rerun), "re-run test"))
397-
printlist(r.name for r in self.rerun)
400+
printlist(self.rerun)
398401

399402
if self.run_no_tests:
400403
print()

0 commit comments

Comments
 (0)