fix dependency types
This commit is contained in:
parent
f0bf98f613
commit
eee64f4542
3 changed files with 15 additions and 9 deletions
|
|
@ -39,14 +39,17 @@ class Coordinator:
|
|||
|
||||
def _load_runners(self, env_files: list[EnvFile]) -> list[Runner]:
|
||||
"""Creates an instance of the correct Runner class for each given env file"""
|
||||
runners = []
|
||||
runners: list[Runner] = []
|
||||
for env_file in env_files:
|
||||
RunnerClass = RUNNER_DICT[env_file.config["TYPE"]]
|
||||
runners.append(
|
||||
RunnerClass(
|
||||
dotenv_path=env_file.env_path, output_dir=self.DIR.output_dir, session_id=self.DIR.session_id
|
||||
)
|
||||
dependency_classes: list[type[Runner]] = []
|
||||
for dependency in RunnerClass.dependencies:
|
||||
dependency_classes.append(RUNNER_DICT[dependency])
|
||||
runner_instance = RunnerClass(
|
||||
dotenv_path=env_file.env_path, output_dir=self.DIR.output_dir, session_id=self.DIR.session_id
|
||||
)
|
||||
runner_instance._dependency_runners = dependency_classes
|
||||
runners.append(runner_instance)
|
||||
return runners
|
||||
|
||||
def combine_html(self) -> None:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from dotenv import dotenv_values
|
|||
|
||||
from src.dir_manager import DirManager
|
||||
from src.runner_dict import RUNNER_DICT
|
||||
from src.runner_manager import RunnerManager
|
||||
|
||||
|
||||
class EnvFile(NamedTuple):
|
||||
|
|
@ -25,6 +26,7 @@ class DependencyRule(NamedTuple):
|
|||
class EnvManager:
|
||||
def __init__(self, env_paths_list: list[Path]):
|
||||
self.env_files: list[EnvFile] = self._get_env_files(env_paths_list)
|
||||
self.runner_manager = RunnerManager(self.env_files)
|
||||
self.dependency_rules: list[DependencyRule] = self._get_dependency_rules(self.env_files)
|
||||
self.env_files = self.sort_env_files_by_rule(self.env_files, self.dependency_rules)
|
||||
|
||||
|
|
@ -46,7 +48,7 @@ class EnvManager:
|
|||
for env_file in env_files:
|
||||
child_runner_class = RUNNER_DICT[env_file.env_type]
|
||||
for dependency in child_runner_class.dependencies:
|
||||
dependency_rule = DependencyRule(child=child_runner_class.name, dependency=dependency.name)
|
||||
dependency_rule = DependencyRule(child=child_runner_class.name, dependency=dependency)
|
||||
dependency_rules.append(dependency_rule)
|
||||
return dependency_rules
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class Runner:
|
|||
tests: list[Test] = []
|
||||
cleanups: list[Test] = []
|
||||
dependencies: list[str] = []
|
||||
_dependency_runners: list[type["Runner"]] = []
|
||||
|
||||
def __init__(self, dotenv_path: Path, output_dir: Path, session_id: str):
|
||||
self.dotenv_path = dotenv_path
|
||||
|
|
@ -167,9 +168,9 @@ class Runner:
|
|||
|
||||
passed_tests = [r.name for r in self.DIRS.RESULTS.glob("*") if "passed" in r.name]
|
||||
results = []
|
||||
for dependencie_runner in self.dependencies:
|
||||
for setup_name in dependencie_runner.setups:
|
||||
dependencie_identifier = self.combine_names(dependencie_runner.name, setup_name.test_file)
|
||||
for dependency_runner in self._dependency_runners:
|
||||
for setup_name in dependency_runner.setups:
|
||||
dependencie_identifier = self.combine_names(dependency_runner.name, setup_name.test_file)
|
||||
results.append(any(dependencie_identifier in f for f in passed_tests))
|
||||
return all(results)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue