MCPcopy Index your code
hub / github.com/RustPython/RustPython / _check_random_seed

Method _check_random_seed

Lib/test/test_regrtest.py:2121–2153  ·  view source on GitHub ↗
(self, run_workers: bool)

Source from the content-addressed store, hash-verified

2119 stats=TestStats(1, 1, 0))
2120
2121 def _check_random_seed(self, run_workers: bool):
2122 # gh-109276: When -r/--randomize is used, random.seed() is called
2123 # with the same random seed before running each test file.
2124 code = textwrap.dedent(r'''
2125 import random
2126 import unittest
2127
2128 class RandomSeedTest(unittest.TestCase):
2129 def test_randint(self):
2130 numbers = [random.randint(0, 1000) for _ in range(10)]
2131 print(f"Random numbers: {numbers}")
2132 ''')
2133 tests = [self.create_test(name=f'test_random{i}', code=code)
2134 for i in range(1, 3+1)]
2135
2136 random_seed = 856_656_202
2137 cmd = ["--randomize", f"--randseed={random_seed}"]
2138 if run_workers:
2139 # run as many worker processes than the number of tests
2140 cmd.append(f'-j{len(tests)}')
2141 cmd.extend(tests)
2142 output = self.run_tests(*cmd)
2143
2144 random.seed(random_seed)
2145 # Make the assumption that nothing consume entropy between libregrest
2146 # setup_tests() which calls random.seed() and RandomSeedTest calling
2147 # random.randint().
2148 numbers = [random.randint(0, 1000) for _ in range(10)]
2149 expected = f"Random numbers: {numbers}"
2150
2151 regex = r'^Random numbers: .*$'
2152 matches = re.findall(regex, output, flags=re.MULTILINE)
2153 self.assertEqual(matches, [expected] * len(tests))
2154
2155 def test_random_seed(self):
2156 self._check_random_seed(run_workers=False)

Callers 2

test_random_seedMethod · 0.95

Calls 10

run_testsMethod · 0.95
lenFunction · 0.85
dedentMethod · 0.80
create_testMethod · 0.80
randintMethod · 0.80
appendMethod · 0.45
extendMethod · 0.45
seedMethod · 0.45
findallMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected