pass coordinator to runner -> much more information available

This commit is contained in:
Daniel 2023-12-05 23:09:08 +01:00
parent f9c21c6e6b
commit 813804e33a
2 changed files with 16 additions and 9 deletions

View file

@ -1,12 +1,13 @@
from dataclasses import dataclass
from pathlib import Path
from typing import Callable
from typing import TYPE_CHECKING, Callable
import pytest
from dotenv import dotenv_values
from loguru import logger
from abratest.dir_manager import DirManager
if TYPE_CHECKING:
from abratest.coordinator import Coordinator
from abratest.env_manager import EnvFile
@dataclass
@ -25,10 +26,16 @@ class Runner:
dependencies: list[str] = []
_dependency_runners: list[type["Runner"]] = []
def __init__(self, dotenv_path: Path, DIR: DirManager):
self.dotenv_path = dotenv_path
self.config: dict[str, str] = dotenv_values(dotenv_path) # type: ignore
self.DIR = DIR
def __init__(self, coordinator: "Coordinator", runner_index: int):
self.coordinator = coordinator # needed?
self.runner_index = runner_index # needed?
self.DIR = coordinator.DIR
self.ENV = coordinator.ENV
self.env_file: EnvFile = self.ENV.env_files[self.runner_index]
self.dotenv_path = self.env_file.env_path
self.config = self.env_file.config
logger.info(f"creating instance of {self.__class__.__name__}")
assert self.test_dir_name