From 9ab4382673ab5d7dac62a90761912a7e484263f5 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Tue, 27 May 2025 19:28:40 +0400 Subject: [PATCH 1/2] Allow passing externally parsed arguments to `run_generator` --- .../core/pyspec/eth2spec/gen_helpers/gen_base/gen_runner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/core/pyspec/eth2spec/gen_helpers/gen_base/gen_runner.py b/tests/core/pyspec/eth2spec/gen_helpers/gen_base/gen_runner.py index 931671a59c..1c17872cfc 100644 --- a/tests/core/pyspec/eth2spec/gen_helpers/gen_base/gen_runner.py +++ b/tests/core/pyspec/eth2spec/gen_helpers/gen_base/gen_runner.py @@ -73,9 +73,10 @@ def execute_test(test_case: TestCase, dumper: Dumper): dumper.dump_meta(test_case, meta) -def run_generator(input_test_cases: Iterable[TestCase]): +def run_generator(input_test_cases: Iterable[TestCase], args=None): start_time = time.time() - args = parse_arguments() + if args is None: + args = parse_arguments() # Bail here if we are checking modules. if args.modcheck: From 0862295709e448d2d9589bd00aad82fb1d71ec3d Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Tue, 27 May 2025 19:30:50 +0400 Subject: [PATCH 2/2] Split `parse_arguments` into two steps: creating a parser and parsing arguments. --- tests/core/pyspec/eth2spec/gen_helpers/gen_base/args.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/core/pyspec/eth2spec/gen_helpers/gen_base/args.py b/tests/core/pyspec/eth2spec/gen_helpers/gen_base/args.py index 6211946dc7..e7ea8c4adc 100644 --- a/tests/core/pyspec/eth2spec/gen_helpers/gen_base/args.py +++ b/tests/core/pyspec/eth2spec/gen_helpers/gen_base/args.py @@ -3,7 +3,7 @@ import pathlib -def parse_arguments(): +def create_arg_parser() -> argparse.ArgumentParser: parser = argparse.ArgumentParser( prog="generator", description=f"Generate YAML test suite files.", @@ -70,4 +70,8 @@ def parse_arguments(): default=os.cpu_count(), help="Generate tests with N threads. Defaults to core count.", ) - return parser.parse_args() + return parser + + +def parse_arguments(): + return create_arg_parser().parse_args()