]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40003: test.bisect_cmd copies Python options (GH-19246)
authorVictor Stinner <vstinner@python.org>
Tue, 31 Mar 2020 15:25:56 +0000 (17:25 +0200)
committerGitHub <noreply@github.com>
Tue, 31 Mar 2020 15:25:56 +0000 (17:25 +0200)
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.

Lib/test/bisect_cmd.py
Misc/NEWS.d/next/Tests/2020-03-31-16-07-15.bpo-40003.SOruLY.rst [new file with mode: 0644]

index cb06480e7c91fad0855c750ae5771b549952cafb..0bdd7a43c03f7bf818d4356460a92d7c7cdb5be9 100755 (executable)
@@ -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:
diff --git a/Misc/NEWS.d/next/Tests/2020-03-31-16-07-15.bpo-40003.SOruLY.rst b/Misc/NEWS.d/next/Tests/2020-03-31-16-07-15.bpo-40003.SOruLY.rst
new file mode 100644 (file)
index 0000000..7ddb901
--- /dev/null
@@ -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.