From: Victor Stinner Date: Sun, 1 Oct 2023 20:41:03 +0000 (+0200) Subject: gh-110164: regrtest disables random if SOURCE_DATE_EPOCH (#110168) X-Git-Tag: v3.13.0a1~192 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65c285062ce2769249610348636d3d73153e0144;p=thirdparty%2FPython%2Fcpython.git gh-110164: regrtest disables random if SOURCE_DATE_EPOCH (#110168) If the SOURCE_DATE_EPOCH environment variable is defined, regrtest now disables randomization of tests. --- diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 5f2baac9cba9..af5fb0f464f5 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -106,8 +106,6 @@ class Regrtest: self.fail_env_changed: bool = ns.fail_env_changed self.fail_rerun: bool = ns.fail_rerun self.forever: bool = ns.forever - self.randomize: bool = ns.randomize - self.random_seed: int | None = ns.random_seed self.output_on_failure: bool = ns.verbose3 self.timeout: float | None = ns.timeout if ns.huntrleaks: @@ -129,6 +127,13 @@ class Regrtest: self.coverage_dir: StrPath | None = ns.coverdir self.tmp_dir: StrPath | None = ns.tempdir + # Randomize + self.randomize: bool = ns.randomize + self.random_seed: int | None = ns.random_seed + if 'SOURCE_DATE_EPOCH' in os.environ: + self.randomize = False + self.random_seed = None + # tests self.first_runtests: RunTests | None = None diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index 0e052e28ec26..380713410060 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -148,6 +148,14 @@ class ParseArgsTestCase(unittest.TestCase): ns = self.parse_args([opt]) self.assertTrue(ns.randomize) + with os_helper.EnvironmentVarGuard() as env: + env['SOURCE_DATE_EPOCH'] = '1' + + ns = self.parse_args(['--randomize']) + regrtest = main.Regrtest(ns) + self.assertFalse(regrtest.randomize) + self.assertIsNone(regrtest.random_seed) + def test_randseed(self): ns = self.parse_args(['--randseed', '12345']) self.assertEqual(ns.random_seed, 12345) diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-01-02-58-00.gh-issue-110164.z7TMCq.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-01-02-58-00.gh-issue-110164.z7TMCq.rst new file mode 100644 index 000000000000..086d70f30e20 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-01-02-58-00.gh-issue-110164.z7TMCq.rst @@ -0,0 +1,2 @@ +regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is defined, +regrtest now disables tests randomization. Patch by Victor Stinner.