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)