def create_provider(handler_name: str, tests_src, config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: config_util.prepare_config(configs_path, config_name) reload(spec) return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: return generate_from_tests(runner_name='genesis', handler_name=handler_name, src=tests_src, fork_name='phase0') return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(config_name: str, seed: int, mode: random_value.RandomizationMode, chaos: bool, cases_if_random: int) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: # Apply changes to presets, this affects some of the vector types. config_util.prepare_config(configs_path, config_name) reload(spec) return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: count = cases_if_random if chaos or mode.is_changing() else 1 for (i, (name, ssz_type)) in enumerate(get_spec_ssz_types()): yield from ssz_static_cases(seed * 1000 + i, name, ssz_type, mode, chaos, count) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(handler_name: str, tests_src, config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: presets = loader.load_presets(configs_path, config_name) spec_phase0.apply_constants_preset(presets) spec_phase1.apply_constants_preset(presets) return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: return generate_from_tests(runner_name='epoch_processing', handler_name=handler_name, src=tests_src, fork_name='phase0') return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(handler_name: str, suite_name: str, case_maker) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: return "general" def cases_fn() -> Iterable[gen_typing.TestCase]: for (case_name, case_fn) in case_maker(): yield gen_typing.TestCase(fork_name=PHASE0, runner_name='ssz_generic', handler_name=handler_name, suite_name=suite_name, case_name=case_name, case_fn=case_fn) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: config_util.prepare_config(configs_path, config_name) reload(spec) return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: for (case_name, case_fn) in shuffling_test_cases(): yield gen_typing.TestCase(fork_name='phase0', runner_name='shuffling', handler_name='core', suite_name='shuffle', case_name=case_name, case_fn=case_fn) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(tests_src, config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: config_util.prepare_config(configs_path, config_name) reload(spec_phase0) reload(spec_phase1) return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: return generate_from_tests( runner_name='rewards', handler_name='core', src=tests_src, fork_name=PHASE0, ) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(handler_name: str, tests_src, config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: config_util.prepare_config(configs_path, config_name) reload(spec_phase0) reload(spec_phase1) bls.use_milagro() return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: return generate_from_tests( runner_name='finality', handler_name=handler_name, src=tests_src, fork_name=PHASE0, ) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider(fork_name: str, handler_name: str, tests_src_mod_name: str, config_name: str) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: config_util.prepare_config(configs_path, config_name) reload(spec_phase0) reload(spec_phase1) bls.use_milagro() return config_name def cases_fn() -> Iterable[gen_typing.TestCase]: tests_src = import_module(tests_src_mod_name) return generate_from_tests( runner_name='operations', handler_name=handler_name, src=tests_src, fork_name=fork_name, ) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
def create_provider( handler_name: str, test_case_fn: Callable[[], Iterable[Tuple[str, Dict[str, Any]]]] ) -> gen_typing.TestProvider: def prepare_fn(configs_path: str) -> str: # Nothing to load / change in spec. Maybe in future forks. # Put the tests into the general config category, to not require any particular configuration. return 'general' def cases_fn() -> Iterable[gen_typing.TestCase]: for data in test_case_fn(): print(data) (case_name, case_content) = data yield gen_typing.TestCase( fork_name='phase0', runner_name='bls', handler_name=handler_name, suite_name='small', case_name=case_name, case_fn=lambda: [('data', 'data', case_content)]) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)