diff --git a/Lib/test/libregrtest/cmdline.py b/Lib/test/libregrtest/cmdline.py index 1ac63af734c412..ebe57920d9185c 100644 --- a/Lib/test/libregrtest/cmdline.py +++ b/Lib/test/libregrtest/cmdline.py @@ -1,5 +1,6 @@ import argparse import os +import shlex import sys from test.support import os_helper @@ -372,8 +373,11 @@ def _parse_args(args, **kwargs): parser.error("-s and -f don't go together!") if ns.use_mp is not None and ns.trace: parser.error("-T and -j don't go together!") - if ns.python is not None and ns.use_mp is None: - parser.error("-p requires -j!") + if ns.python is not None: + if ns.use_mp is None: + parser.error("-p requires -j!") + # The "executable" may be two or more parts, e.g. "node python.js" + ns.python = shlex.split(ns.python) if ns.failfast and not (ns.verbose or ns.verbose3): parser.error("-G/--failfast needs either -v or -W") if ns.pgo and (ns.verbose or ns.verbose2 or ns.verbose3): diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index cc8ba05d39ca7d..655e4d2e56f8f0 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -306,13 +306,22 @@ def list_cases(self): printlist(self.skipped, file=sys.stderr) def rerun_failed_tests(self): + self.log() + + if self.ns.python: + # Temp patch for https://github.com/python/cpython/issues/94052 + self.log( + "Re-running failed tests is not supported with --python " + "host runner option." + ) + return + self.ns.verbose = True self.ns.failfast = False self.ns.verbose3 = False self.first_result = self.get_tests_result() - self.log() self.log("Re-running failed tests in verbose mode") rerun_list = list(self.need_rerun) self.need_rerun.clear() diff --git a/Lib/test/libregrtest/runtest_mp.py b/Lib/test/libregrtest/runtest_mp.py index 39fab5566a089a..8f8c8dd918807b 100644 --- a/Lib/test/libregrtest/runtest_mp.py +++ b/Lib/test/libregrtest/runtest_mp.py @@ -2,7 +2,6 @@ import json import os import queue -import shlex import signal import subprocess import sys @@ -57,8 +56,7 @@ def run_test_in_subprocess(testname: str, ns: Namespace) -> subprocess.Popen: worker_args = (ns_dict, testname) worker_args = json.dumps(worker_args) if ns.python is not None: - # The "executable" may be two or more parts, e.g. "node python.js" - executable = shlex.split(ns.python) + executable = ns.python else: executable = [sys.executable] cmd = [*executable, *support.args_from_interpreter_flags(), pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy