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.
This commit is contained in:
Victor Stinner 2023-10-01 22:41:03 +02:00 committed by GitHub
parent adf0f15a06
commit 65c285062c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 2 deletions

View File

@ -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

View File

@ -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)

View File

@ -0,0 +1,2 @@
regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is defined,
regrtest now disables tests randomization. Patch by Victor Stinner.