mirror of
https://github.com/python/cpython.git
synced 2025-09-01 14:38:00 +00:00
Port r70672 to py3k. Add the ability to control the random seed used by regrtest.py -r.
This commit is contained in:
parent
9041daa9a7
commit
fd12f4972b
1 changed files with 18 additions and 5 deletions
|
@ -35,6 +35,10 @@ If no test names are given, all tests are run.
|
||||||
|
|
||||||
-v is incompatible with -g and does not compare test output files.
|
-v is incompatible with -g and does not compare test output files.
|
||||||
|
|
||||||
|
-r randomizes test execution order. You can use --randseed=int to provide a
|
||||||
|
int seed value for the randomizer; this is useful for reproducing troublesome
|
||||||
|
test orders.
|
||||||
|
|
||||||
-T turns on code coverage tracing with the trace module.
|
-T turns on code coverage tracing with the trace module.
|
||||||
|
|
||||||
-D specifies the directory where coverage files are put.
|
-D specifies the directory where coverage files are put.
|
||||||
|
@ -191,7 +195,8 @@ def usage(msg):
|
||||||
def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
||||||
exclude=False, single=False, randomize=False, fromfile=None,
|
exclude=False, single=False, randomize=False, fromfile=None,
|
||||||
findleaks=False, use_resources=None, trace=False, coverdir='coverage',
|
findleaks=False, use_resources=None, trace=False, coverdir='coverage',
|
||||||
runleaks=False, huntrleaks=False, verbose2=False, print_slow=False):
|
runleaks=False, huntrleaks=False, verbose2=False, print_slow=False,
|
||||||
|
random_seed=None):
|
||||||
"""Execute a test suite.
|
"""Execute a test suite.
|
||||||
|
|
||||||
This also parses command-line options and modifies its behavior
|
This also parses command-line options and modifies its behavior
|
||||||
|
@ -209,9 +214,10 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
||||||
files beginning with test_ will be used.
|
files beginning with test_ will be used.
|
||||||
|
|
||||||
The other default arguments (verbose, quiet, generate, exclude,
|
The other default arguments (verbose, quiet, generate, exclude,
|
||||||
single, randomize, findleaks, use_resources, trace, coverdir, and
|
single, randomize, findleaks, use_resources, trace, coverdir,
|
||||||
print_slow) allow programmers calling main() directly to set the
|
print_slow, and random_seed) allow programmers calling main()
|
||||||
values that would normally be set by flags on the command line.
|
directly to set the values that would normally be set by flags
|
||||||
|
on the command line.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
support.record_original_stdout(sys.stdout)
|
support.record_original_stdout(sys.stdout)
|
||||||
|
@ -222,12 +228,15 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
||||||
'findleaks', 'use=', 'threshold=', 'trace',
|
'findleaks', 'use=', 'threshold=', 'trace',
|
||||||
'coverdir=', 'nocoverdir', 'runleaks',
|
'coverdir=', 'nocoverdir', 'runleaks',
|
||||||
'huntrleaks=', 'verbose2', 'memlimit=',
|
'huntrleaks=', 'verbose2', 'memlimit=',
|
||||||
'debug', 'start=', "nowindows"
|
'debug', 'start=', 'nowindows',
|
||||||
|
'randseed=',
|
||||||
])
|
])
|
||||||
except getopt.error as msg:
|
except getopt.error as msg:
|
||||||
usage(msg)
|
usage(msg)
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
|
if random_seed is None:
|
||||||
|
random_seed = random.randrange(10000000)
|
||||||
if use_resources is None:
|
if use_resources is None:
|
||||||
use_resources = []
|
use_resources = []
|
||||||
debug = False
|
debug = False
|
||||||
|
@ -255,6 +264,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
||||||
print_slow = True
|
print_slow = True
|
||||||
elif o in ('-r', '--randomize'):
|
elif o in ('-r', '--randomize'):
|
||||||
randomize = True
|
randomize = True
|
||||||
|
elif o == '--randseed':
|
||||||
|
random_seed = int(a)
|
||||||
elif o in ('-f', '--fromfile'):
|
elif o in ('-f', '--fromfile'):
|
||||||
fromfile = a
|
fromfile = a
|
||||||
elif o in ('-l', '--findleaks'):
|
elif o in ('-l', '--findleaks'):
|
||||||
|
@ -389,6 +400,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Couldn't find starting test (%s), using all tests" % start)
|
print("Couldn't find starting test (%s), using all tests" % start)
|
||||||
if randomize:
|
if randomize:
|
||||||
|
random.seed(random_seed)
|
||||||
|
print("Using random seed", random_seed)
|
||||||
random.shuffle(tests)
|
random.shuffle(tests)
|
||||||
if trace:
|
if trace:
|
||||||
import trace
|
import trace
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue