From 81c2165a401581b1c58e9b9a3c1835bf1c4d24be Mon Sep 17 00:00:00 2001 From: Noah Stapp Date: Tue, 25 Aug 2026 12:39:09 -0400 Subject: [PATCH] PYTHON-6052 - Fix TEST_ARGS splitting in coverage runs --- .evergreen/scripts/run_tests.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.evergreen/scripts/run_tests.py b/.evergreen/scripts/run_tests.py index 49986c67ab..b9198cadf4 100644 --- a/.evergreen/scripts/run_tests.py +++ b/.evergreen/scripts/run_tests.py @@ -4,7 +4,6 @@ import logging import os import platform -import shlex import shutil import subprocess import sys @@ -205,13 +204,11 @@ def run() -> None: TEST_ARGS.extend(f"-o log_cli_level={logging.DEBUG}".split()) if os.environ.get("COVERAGE"): - binary = sys.executable.replace(os.sep, "/") - cmd = f"{binary} -m coverage run -m pytest {' '.join(TEST_ARGS)} {' '.join(sys.argv[1:])}" - result = subprocess.run(shlex.split(cmd), check=False) # noqa: S603 - cmd = f"{binary} -m coverage report" - subprocess.run(shlex.split(cmd), check=False) # noqa: S603 - if result.returncode != 0: - print(result.stderr) + # Pass the args as a list to preserve multi-word entries like the + # marker expression added by handle_green_framework(). + cmd = [sys.executable, "-m", "coverage", "run", "-m", "pytest", *TEST_ARGS, *sys.argv[1:]] + result = subprocess.run(cmd, check=False) # noqa: S603 + subprocess.run([sys.executable, "-m", "coverage", "report"], check=False) sys.exit(result.returncode) # Run local tests.