From c11f963bc99535d7a826545891b833502ea7c50e Mon Sep 17 00:00:00 2001 From: protolambda Date: Thu, 23 May 2019 15:16:59 +0200 Subject: [PATCH] cleanup generator code, use helper pkg to load and generate test cases with --- test_generators/epoch_processing/main.py | 3 ++- test_generators/operations/main.py | 26 ++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/test_generators/epoch_processing/main.py b/test_generators/epoch_processing/main.py index ea69efd64..530f9485d 100644 --- a/test_generators/epoch_processing/main.py +++ b/test_generators/epoch_processing/main.py @@ -1,3 +1,5 @@ +from typing import Callable, Iterable + from eth2spec.test.epoch_processing import ( test_process_crosslinks, test_process_registry_updates @@ -5,7 +7,6 @@ from eth2spec.test.epoch_processing import ( from gen_base import gen_runner, gen_suite, gen_typing from gen_from_tests.gen import generate_from_tests -from typing import Callable, Iterable from preset_loader import loader from eth2spec.phase0 import spec diff --git a/test_generators/operations/main.py b/test_generators/operations/main.py index 41a6ff806..96c639d12 100644 --- a/test_generators/operations/main.py +++ b/test_generators/operations/main.py @@ -1,3 +1,5 @@ +from typing import Callable, Iterable + from eth2spec.test.block_processing import ( test_process_attestation, test_process_attester_slashing, @@ -8,9 +10,29 @@ from eth2spec.test.block_processing import ( test_process_voluntary_exit ) -from gen_base import gen_runner +from gen_base import gen_runner, gen_suite, gen_typing +from gen_from_tests.gen import generate_from_tests +from preset_loader import loader +from eth2spec.phase0 import spec + + +def create_suite(operation_name: str, config_name: str, get_cases: Callable[[], Iterable[gen_typing.TestCase]]) \ + -> Callable[[str], gen_typing.TestSuiteOutput]: + def suite_definition(configs_path: str) -> gen_typing.TestSuiteOutput: + presets = loader.load_presets(configs_path, config_name) + spec.apply_constants_preset(presets) + + return ("%s_%s" % (operation_name, config_name), operation_name, gen_suite.render_suite( + title="%s operation" % operation_name, + summary="Test suite for %s type operation processing" % operation_name, + forks_timeline="testing", + forks=["phase0"], + config=config_name, + runner="operations", + handler=operation_name, + test_cases=get_cases())) + return suite_definition -from suite_creator import generate_from_tests, create_suite if __name__ == "__main__": gen_runner.run_generator("operations", [