Skip to content

Executor manager

register_executor(executor, override=False)

Source code in testcase_maker/executor_manager.py
def register_executor(executor: Type[Executor], override: bool = False):
    file_extension = executor.file_extension()
    if file_extension in _registered_executors and not override:
        raise ValueError(
            f"Executor with extension '{file_extension}' already exist. Set override to True to "
            f"replace existing registered executor with the same file extension."
        )
    _registered_executors[file_extension] = executor

get_executor_for_script(script_file)

Source code in testcase_maker/executor_manager.py
def get_executor_for_script(script_file: Union["Path", str]) -> Executor:
    script_file = Path(script_file)
    file_extension = Path(script_file).suffix

    try:
        executor = _registered_executors[file_extension]
    except KeyError:
        raise ValueError(f"No registered executor for script '{script_file}' with extension '{file_extension}'.")

    return executor(script_file)