summaryrefslogtreecommitdiff
path: root/Lib/test/libregrtest/main.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-06-27 00:44:43 +0200
committerGitHub <noreply@github.com>2018-06-27 00:44:43 +0200
commit1d55888a78bcefed3723fb7e48df2a75b4f0adb0 (patch)
tree48a61bb00d3deb15112ff1c16edfe9bf11ddda9e /Lib/test/libregrtest/main.py
parentc6040638aa1537709add895d24cdbbb9ee310fde (diff)
downloadcpython-git-1d55888a78bcefed3723fb7e48df2a75b4f0adb0.tar.gz
bpo-33873: Backport regrtest from master to 3.7 (GH-7935) (GH-7937)
* bpo-33718: regrtest: use format_duration() to display failed tests (GH-7686) * Enhance also format_duration(): work on integers and rounds towards +infinity (math.ceil). * Write unit tests on format_duration() (cherry picked from commit 4ffe9c2b251f6e027b26250b7a2618e78d4edd22) * bpo-33873: regrtest: Add warning on -R 1:3 (GH-7736) regrtest: Add warning when using less than 3 warmup runs like -R 1:3. (cherry picked from commit cac4fef8860e66a9da67d09762f5b614b9471a12) * 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. (cherry picked from commit 58ed7307ea0b5c5aa052291ebc3030f314f938d8) (cherry picked from commit d1f9481b7a2d31c40fca1347ef99d819eb656ce7)
Diffstat (limited to 'Lib/test/libregrtest/main.py')
-rw-r--r--Lib/test/libregrtest/main.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
index 3429b3726a..e262a7a172 100644
--- a/Lib/test/libregrtest/main.py
+++ b/Lib/test/libregrtest/main.py
@@ -462,6 +462,13 @@ class Regrtest:
or self.tests or self.ns.args)):
self.display_header()
+ if self.ns.huntrleaks:
+ warmup, repetitions, _ = self.ns.huntrleaks
+ if warmup < 3:
+ msg = ("WARNING: Running tests with --huntrleaks/-R and less than "
+ "3 warmup repetitions can give false positives!")
+ print(msg, file=sys.stdout, flush=True)
+
if self.ns.randomize:
print("Using random seed", self.ns.random_seed)
@@ -526,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)