bpo-40003: test.bisect_cmd copies Python options (GH-19246)
test.bisect_cmd now copies Python command line options like -O or -W. Moreover, emit a warning if test.bisect_cmd is used with -w/--verbose2 option.
This commit is contained in:
parent
8d84adcd73
commit
01e743d704
|
@ -47,8 +47,16 @@ def format_shell_args(args):
|
||||||
return ' '.join(args)
|
return ' '.join(args)
|
||||||
|
|
||||||
|
|
||||||
|
def python_cmd():
|
||||||
|
cmd = [sys.executable]
|
||||||
|
cmd.extend(subprocess._args_from_interpreter_flags())
|
||||||
|
cmd.extend(subprocess._optim_args_from_interpreter_flags())
|
||||||
|
return cmd
|
||||||
|
|
||||||
|
|
||||||
def list_cases(args):
|
def list_cases(args):
|
||||||
cmd = [sys.executable, '-m', 'test', '--list-cases']
|
cmd = python_cmd()
|
||||||
|
cmd.extend(['-m', 'test', '--list-cases'])
|
||||||
cmd.extend(args.test_args)
|
cmd.extend(args.test_args)
|
||||||
proc = subprocess.run(cmd,
|
proc = subprocess.run(cmd,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
|
@ -68,7 +76,8 @@ def run_tests(args, tests, huntrleaks=None):
|
||||||
try:
|
try:
|
||||||
write_tests(tmp, tests)
|
write_tests(tmp, tests)
|
||||||
|
|
||||||
cmd = [sys.executable, '-m', 'test', '--matchfile', tmp]
|
cmd = python_cmd()
|
||||||
|
cmd.extend(['-m', 'test', '--matchfile', tmp])
|
||||||
cmd.extend(args.test_args)
|
cmd.extend(args.test_args)
|
||||||
print("+ %s" % format_shell_args(cmd))
|
print("+ %s" % format_shell_args(cmd))
|
||||||
proc = subprocess.run(cmd)
|
proc = subprocess.run(cmd)
|
||||||
|
@ -100,6 +109,9 @@ def parse_args():
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
|
if '-w' in args.test_args or '--verbose2' in args.test_args:
|
||||||
|
print("WARNING: -w/--verbose2 option should not be used to bisect!")
|
||||||
|
print()
|
||||||
|
|
||||||
if args.input:
|
if args.input:
|
||||||
with open(args.input) as fp:
|
with open(args.input) as fp:
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
``test.bisect_cmd`` now copies Python command line options like ``-O`` or
|
||||||
|
``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
|
||||||
|
``-w``/``--verbose2`` option.
|
Loading…
Reference in New Issue