in otava/config.py [0:0]
def load_test_groups(config: Dict, tests: Dict[str, TestConfig]) -> Dict[str, List[TestConfig]]:
groups = config.get("test_groups", {})
if not isinstance(groups, Dict):
raise ConfigError("Property `test_groups` is not a dictionary")
result = {}
for (group_name, test_names) in groups.items():
test_list = []
if not isinstance(test_names, List):
raise ConfigError(f"Test group {group_name} must be a list")
for test_name in test_names:
test_config = tests.get(test_name)
if test_config is None:
raise ConfigError(f"Test {test_name} referenced by group {group_name} not found.")
test_list.append(test_config)
result[group_name] = test_list
return result