Skip to content

Commit 65c2850

Browse files
authored
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.
1 parent adf0f15 commit 65c2850

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

Lib/test/libregrtest/main.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,6 @@ def __init__(self, ns: Namespace, _add_python_opts: bool = False):
106106
self.fail_env_changed: bool = ns.fail_env_changed
107107
self.fail_rerun: bool = ns.fail_rerun
108108
self.forever: bool = ns.forever
109-
self.randomize: bool = ns.randomize
110-
self.random_seed: int | None = ns.random_seed
111109
self.output_on_failure: bool = ns.verbose3
112110
self.timeout: float | None = ns.timeout
113111
if ns.huntrleaks:
@@ -129,6 +127,13 @@ def __init__(self, ns: Namespace, _add_python_opts: bool = False):
129127
self.coverage_dir: StrPath | None = ns.coverdir
130128
self.tmp_dir: StrPath | None = ns.tempdir
131129

130+
# Randomize
131+
self.randomize: bool = ns.randomize
132+
self.random_seed: int | None = ns.random_seed
133+
if 'SOURCE_DATE_EPOCH' in os.environ:
134+
self.randomize = False
135+
self.random_seed = None
136+
132137
# tests
133138
self.first_runtests: RunTests | None = None
134139

Lib/test/test_regrtest.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,14 @@ def test_randomize(self):
148148
ns = self.parse_args([opt])
149149
self.assertTrue(ns.randomize)
150150

151+
with os_helper.EnvironmentVarGuard() as env:
152+
env['SOURCE_DATE_EPOCH'] = '1'
153+
154+
ns = self.parse_args(['--randomize'])
155+
regrtest = main.Regrtest(ns)
156+
self.assertFalse(regrtest.randomize)
157+
self.assertIsNone(regrtest.random_seed)
158+
151159
def test_randseed(self):
152160
ns = self.parse_args(['--randseed', '12345'])
153161
self.assertEqual(ns.random_seed, 12345)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is defined,
2+
regrtest now disables tests randomization. Patch by Victor Stinner.

0 commit comments

Comments
 (0)