cpython: 281ab7954d7c (original) (raw)
--- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -346,7 +346,18 @@ class Regrtest: print(count(len(self.bad), 'test'), "failed again:") printlist(self.bad)
- def run_test(self, test):
result = runtest(test,[](#l1.9)
self.ns.verbose,[](#l1.10)
self.ns.quiet,[](#l1.11)
self.ns.huntrleaks,[](#l1.12)
output_on_failure=self.ns.verbose3,[](#l1.13)
timeout=self.ns.timeout,[](#l1.14)
failfast=self.ns.failfast,[](#l1.15)
match_tests=self.ns.match_tests)[](#l1.16)
self.accumulate_result(test, result)[](#l1.17)
for test_index, test in enumerate(self.tests, 1): @@ -354,19 +365,15 @@ class Regrtest: if self.ns.trace: # If we're tracing code coverage, then we don't exit with status # if on a false return value from main.
cmd = 'runtest(test, self.ns.verbose, self.ns.quiet, timeout=self.ns.timeout)'[](#l1.27)
cmd = 'self.run_test(test)'[](#l1.28) self.tracer.runctx(cmd, globals=globals(), locals=vars())[](#l1.29) else:[](#l1.30) try:[](#l1.31)
result = runtest(test, self.ns.verbose, self.ns.quiet,[](#l1.32)
self.ns.huntrleaks,[](#l1.33)
output_on_failure=self.ns.verbose3,[](#l1.34)
timeout=self.ns.timeout, failfast=self.ns.failfast,[](#l1.35)
match_tests=self.ns.match_tests)[](#l1.36)
self.accumulate_result(test, result)[](#l1.37)
self.run_test(test)[](#l1.38) except KeyboardInterrupt:[](#l1.39) self.interrupted = True[](#l1.40) break[](#l1.41)
+ if self.ns.findleaks: gc.collect() if gc.garbage: @@ -376,13 +383,14 @@ class Regrtest: # them again self.found_garbage.extend(gc.garbage) del gc.garbage[:] + # Unload the newly imported modules (best effort finalization) for module in sys.modules.keys(): if module not in save_modules and module.startswith("test."): support.unload(module) def run_tests(self):
support.verbose = self.ns.verbose # Tell tests to be moderately quiet[](#l1.57)
support.verbose = self.ns.verbose # Tell tests to be moderately quiet[](#l1.58) support.use_resources = self.ns.use_resources[](#l1.59)
if self.ns.forever: @@ -404,7 +412,7 @@ class Regrtest: from test.libregrtest.runtest_mp import run_tests_multiprocess run_tests_multiprocess(self) else:
self._run_tests_sequential()[](#l1.66)
self.run_tests_sequential()[](#l1.67)