mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
bpo-33873: Fix bug in runtest.py and add checks for invalid -R parameters (GH-7735)
Fix bug in `Lib/test/libregrtest/runtest.py` that makes running tests an extra time than the specified number of runs. Add check for invalid --huntrleaks/-R parameters.
This commit is contained in:
parent
866c168a5f
commit
58ed7307ea
3 changed files with 15 additions and 1 deletions
|
|
@ -533,6 +533,15 @@ class Regrtest:
|
|||
def _main(self, tests, kwargs):
|
||||
self.ns = self.parse_args(kwargs)
|
||||
|
||||
if self.ns.huntrleaks:
|
||||
warmup, repetitions, _ = self.ns.huntrleaks
|
||||
if warmup < 1 or repetitions < 1:
|
||||
msg = ("Invalid values for the --huntrleaks/-R parameters. The "
|
||||
"number of warmups and repetitions must be at least 1 "
|
||||
"each (1:1).")
|
||||
print(msg, file=sys.stderr, flush=True)
|
||||
sys.exit(2)
|
||||
|
||||
if self.ns.slaveargs is not None:
|
||||
from test.libregrtest.runtest_mp import run_tests_slave
|
||||
run_tests_slave(self.ns.slaveargs)
|
||||
|
|
|
|||
|
|
@ -173,9 +173,10 @@ def runtest_inner(ns, test, display_failure=True):
|
|||
if loader.errors:
|
||||
raise Exception("errors while loading tests")
|
||||
support.run_unittest(tests)
|
||||
test_runner()
|
||||
if ns.huntrleaks:
|
||||
refleak = dash_R(the_module, test, test_runner, ns.huntrleaks)
|
||||
else:
|
||||
test_runner()
|
||||
test_time = time.time() - start_time
|
||||
post_test_cleanup()
|
||||
except support.ResourceDenied as msg:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
Fix a bug in ``regrtest`` that caused an extra test to run if
|
||||
--huntrleaks/-R was used. Exit with error in case that invalid
|
||||
parameters are specified to --huntrleaks/-R (at least one warmup
|
||||
run and one repetition must be used).
|
||||
Loading…
Add table
Add a link
Reference in a new issue