def METHOD_NAME(runner_name: str) -> Callable[[SpecForkName, str, str, PresetBaseName], TestProvider]:
    def prepare_fn() -> None:
        bls.use_milagro()
        return
    def create_provider(fork_name: SpecForkName, preset_name: PresetBaseName,
                        handler_name: str, tests_src_mod_name: List[str]) -> TestProvider:
        def cases_fn() -> Iterable[TestCase]:
            for mod_name in tests_src_mod_name:
                tests_src = import_module(mod_name)
                yield from generate_from_tests(
                    runner_name=runner_name,
                    handler_name=handler_name,
                    src=tests_src,
                    fork_name=fork_name,
                    preset_name=preset_name,
                )
        return TestProvider(prepare=prepare_fn, make_cases=cases_fn)
    return create_provider