From 62881a79a81816f075c8809b94438a3d519af0a4 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 27 Sep 2023 16:09:23 +0200 Subject: gh-109566: regrtest doesn't enable --rerun if --python is used (#109969) regrtest: --fast-ci and --slow-ci options no longer enable --rerun if the --python option is used. --- Lib/test/libregrtest/cmdline.py | 3 ++- Lib/test/test_regrtest.py | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Lib/test/libregrtest/cmdline.py b/Lib/test/libregrtest/cmdline.py index c180bb7..0a86356 100644 --- a/Lib/test/libregrtest/cmdline.py +++ b/Lib/test/libregrtest/cmdline.py @@ -420,7 +420,8 @@ def _parse_args(args, **kwargs): ns.randomize = True ns.fail_env_changed = True ns.fail_rerun = True - ns.rerun = True + if ns.python is None: + ns.rerun = True ns.print_slow = True ns.verbose3 = True if MS_WINDOWS: diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index e0568cb..da1406d 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -374,7 +374,7 @@ class ParseArgsTestCase(unittest.TestCase): self.checkError(['--unknown-option'], 'unrecognized arguments: --unknown-option') - def check_ci_mode(self, args, use_resources): + def check_ci_mode(self, args, use_resources, rerun=True): ns = cmdline._parse_args(args) if utils.MS_WINDOWS: self.assertTrue(ns.nowindows) @@ -383,7 +383,7 @@ class ParseArgsTestCase(unittest.TestCase): # which has an unclear API regrtest = main.Regrtest(ns) self.assertEqual(regrtest.num_workers, -1) - self.assertTrue(regrtest.want_rerun) + self.assertEqual(regrtest.want_rerun, rerun) self.assertTrue(regrtest.randomize) self.assertIsNone(regrtest.random_seed) self.assertTrue(regrtest.fail_env_changed) @@ -400,6 +400,14 @@ class ParseArgsTestCase(unittest.TestCase): regrtest = self.check_ci_mode(args, use_resources) self.assertEqual(regrtest.timeout, 10 * 60) + def test_fast_ci_python_cmd(self): + args = ['--fast-ci', '--python', 'python -X dev'] + use_resources = sorted(cmdline.ALL_RESOURCES) + use_resources.remove('cpu') + regrtest = self.check_ci_mode(args, use_resources, rerun=False) + self.assertEqual(regrtest.timeout, 10 * 60) + self.assertEqual(regrtest.python_cmd, ('python', '-X', 'dev')) + def test_fast_ci_resource(self): # it should be possible to override resources args = ['--fast-ci', '-u', 'network'] -- cgit v0.12