mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-109162: Refactor libregrtest WorkerJob (#109171)
* Rename --worker-args command line option to --worker-json. * Rename _parse_worker_args() to _parse_worker_json(). * WorkerJob: * Add runtests attribute * Remove test_name and rerun attribute * Rename run_test_in_subprocess() to create_worker_process(). * Rename run_tests_worker() to worker_process(). * create_worker_process() uses json.dump(): write directly JSON to stdout. * Convert MultiprocessResult to a frozen dataclass. * Rename RunTests.match_tests to RunTests.match_tests_dict.
This commit is contained in:
parent
489ca0acf0
commit
a56c928756
5 changed files with 48 additions and 41 deletions
|
@ -336,7 +336,7 @@ class Regrtest:
|
|||
|
||||
# Get tests to re-run
|
||||
tests = [result.test_name for result in need_rerun]
|
||||
match_tests = self.get_rerun_match(need_rerun)
|
||||
match_tests_dict = self.get_rerun_match(need_rerun)
|
||||
|
||||
# Clear previously failed tests
|
||||
self.rerun_bad.extend(self.bad)
|
||||
|
@ -346,7 +346,7 @@ class Regrtest:
|
|||
# Re-run failed tests
|
||||
self.log(f"Re-running {len(tests)} failed tests in verbose mode in subprocesses")
|
||||
runtests = runtests.copy(tests=tuple(tests),
|
||||
match_tests=match_tests,
|
||||
match_tests_dict=match_tests_dict,
|
||||
rerun=True,
|
||||
forever=False)
|
||||
self.set_tests(runtests)
|
||||
|
@ -742,7 +742,7 @@ class Regrtest:
|
|||
self.tmp_dir = os.path.abspath(self.tmp_dir)
|
||||
|
||||
def is_worker(self):
|
||||
return (self.ns.worker_args is not None)
|
||||
return (self.ns.worker_json is not None)
|
||||
|
||||
def create_temp_dir(self):
|
||||
os.makedirs(self.tmp_dir, exist_ok=True)
|
||||
|
@ -870,8 +870,8 @@ class Regrtest:
|
|||
|
||||
def _main(self):
|
||||
if self.is_worker():
|
||||
from test.libregrtest.runtest_mp import run_tests_worker
|
||||
run_tests_worker(self.ns.worker_args)
|
||||
from test.libregrtest.runtest_mp import worker_process
|
||||
worker_process(self.ns.worker_json)
|
||||
return
|
||||
|
||||
if self.want_wait:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue