Skip to content

Commit 9e24930

Browse files
authored
bpo-33718: regrtest keeps filters to re-run fails (GH-7291)
* No longer clear filters, like --match, to re-run failed tests in verbose mode (-w option). * Tests result: always indicate if tests have been interrupted. * Enhance tests summary
1 parent 5601321 commit 9e24930

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

Lib/test/libregrtest/main.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,6 @@ def rerun_failed_tests(self):
282282
self.ns.verbose = True
283283
self.ns.failfast = False
284284
self.ns.verbose3 = False
285-
self.ns.match_tests = None
286285

287286
print()
288287
print("Re-running failed tests in verbose mode")
@@ -313,7 +312,7 @@ def display_result(self):
313312
return
314313

315314
print()
316-
print("== Tests result ==")
315+
print("== Tests result: %s ==" % self.get_tests_result())
317316

318317
if self.interrupted:
319318
print()
@@ -324,11 +323,6 @@ def display_result(self):
324323
print(count(len(omitted), "test"), "omitted:")
325324
printlist(omitted)
326325

327-
if self.rerun:
328-
print()
329-
print(count(len(self.rerun), "test"), "re-run tests:")
330-
printlist(self.rerun)
331-
332326
if self.good and not self.ns.quiet:
333327
print()
334328
if (not self.bad
@@ -361,6 +355,11 @@ def display_result(self):
361355
print(count(len(self.skipped), "test"), "skipped:")
362356
printlist(self.skipped)
363357

358+
if self.rerun:
359+
print()
360+
print("%s:" % count(len(self.rerun), "re-run test"))
361+
printlist(self.rerun)
362+
364363
def run_tests_sequential(self):
365364
if self.ns.trace:
366365
import trace
@@ -445,6 +444,21 @@ def display_header(self):
445444
% (locale.getpreferredencoding(False),
446445
sys.getfilesystemencoding()))
447446

447+
def get_tests_result(self):
448+
result = []
449+
if self.bad:
450+
result.append("FAILURE")
451+
elif self.ns.fail_env_changed and self.environment_changed:
452+
result.append("ENV CHANGED")
453+
454+
if self.interrupted:
455+
result.append("INTERRUPTED")
456+
457+
if not result:
458+
result.append("SUCCESS")
459+
460+
return ', '.join(result)
461+
448462
def run_tests(self):
449463
# For a partial run, we do not need to clutter the output.
450464
if (self.ns.header
@@ -486,16 +500,7 @@ def finalize(self):
486500
print()
487501
duration = time.monotonic() - self.start_time
488502
print("Total duration: %s" % format_duration(duration))
489-
490-
if self.bad:
491-
result = "FAILURE"
492-
elif self.interrupted:
493-
result = "INTERRUPTED"
494-
elif self.ns.fail_env_changed and self.environment_changed:
495-
result = "ENV CHANGED"
496-
else:
497-
result = "SUCCESS"
498-
print("Tests result: %s" % result)
503+
print("Tests result: %s" % self.get_tests_result())
499504

500505
if self.ns.runleaks:
501506
os.system("leaks %d" % os.getpid())

0 commit comments

Comments
 (0)