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:
Victor Stinner 2020-03-31 17:25:56 +02:00 committed by GitHub
parent 8d84adcd73
commit 01e743d704
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

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

View File

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