bpo-36725: Refactor regrtest multiprocessing code (GH-12961) · python/cpython@3cde440 (original) (raw)

Original file line number Diff line number Diff line change
@@ -79,8 +79,8 @@ def __init__(self):
79 79 self.skipped = []
80 80 self.resource_denieds = []
81 81 self.environment_changed = []
82 -self.rerun = []
83 82 self.run_no_tests = []
83 +self.rerun = []
84 84 self.first_result = None
85 85 self.interrupted = False
86 86
@@ -105,6 +105,11 @@ def __init__(self):
105 105 # used by --junit-xml
106 106 self.testsuite_xml = None
107 107
108 +def get_executed(self):
109 +return (set(self.good) | set(self.bad) set(self.skipped)
110 +| set(self.resource_denieds) set(self.environment_changed)
111 +| set(self.run_no_tests))
112 +
108 113 def accumulate_result(self, result):
109 114 test_name = result.test_name
110 115 ok = result.result
@@ -311,8 +316,6 @@ def rerun_failed_tests(self):
311 316 self.bad.remove(test_name)
312 317
313 318 if ok.result == INTERRUPTED:
314 -# print a newline separate from the ^C
315 -print()
316 319 self.interrupted = True
317 320 break
318 321 else:
@@ -331,11 +334,11 @@ def display_result(self):
331 334 print("== Tests result: %s ==" % self.get_tests_result())
332 335
333 336 if self.interrupted:
334 -print()
335 -# print a newline after ^C
336 337 print("Test suite interrupted by signal SIGINT.")
337 -executed = set(self.good) | set(self.bad) set(self.skipped)
338 -omitted = set(self.selected) - executed
338 +
339 +omitted = set(self.selected) - self.get_executed()
340 +if omitted:
341 +print()
339 342 print(count(len(omitted), "test"), "omitted:")
340 343 printlist(omitted)
341 344