summaryrefslogtreecommitdiffstats
path: root/Lib/test/bisect_cmd.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-03-31 15:25:56 (GMT)
committerGitHub <noreply@github.com>2020-03-31 15:25:56 (GMT)
commit01e743d704aeefd1c1825a6a96d0c766c5516fb1 (patch)
tree605343383681403f43d466e5f42f6d0acbe6c162 /Lib/test/bisect_cmd.py
parent8d84adcd736619c2ce510dff1e7ffd3ab08df06a (diff)
downloadcpython-01e743d704aeefd1c1825a6a96d0c766c5516fb1.zip
cpython-01e743d704aeefd1c1825a6a96d0c766c5516fb1.tar.gz
cpython-01e743d704aeefd1c1825a6a96d0c766c5516fb1.tar.bz2
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.
Diffstat (limited to 'Lib/test/bisect_cmd.py')
-rwxr-xr-xLib/test/bisect_cmd.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/Lib/test/bisect_cmd.py b/Lib/test/bisect_cmd.py
index cb06480..0bdd7a4 100755
--- a/Lib/test/bisect_cmd.py
+++ b/Lib/test/bisect_cmd.py
@@ -47,8 +47,16 @@ def format_shell_args(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):
- cmd = [sys.executable, '-m', 'test', '--list-cases']
+ cmd = python_cmd()
+ cmd.extend(['-m', 'test', '--list-cases'])
cmd.extend(args.test_args)
proc = subprocess.run(cmd,
stdout=subprocess.PIPE,
@@ -68,7 +76,8 @@ def run_tests(args, tests, huntrleaks=None):
try:
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)
print("+ %s" % format_shell_args(cmd))
proc = subprocess.run(cmd)
@@ -100,6 +109,9 @@ def parse_args():
def main():
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:
with open(args.input) as fp: