diff --git a/tests/utils/stl/test/file_parsing.py b/tests/utils/stl/test/file_parsing.py index 84c3b70f1ad..f1d345cb195 100644 --- a/tests/utils/stl/test/file_parsing.py +++ b/tests/utils/stl/test/file_parsing.py @@ -58,7 +58,7 @@ class _ParseCtx: _TAGS_REGEX = re.compile(r'^(?P(\*|\w+(,\w+)*))\t+(?P.*)$') _ENV_VAR_MULTI_ITEM_REGEX = re.compile(r'(?P\w+)="(?P.*?)"') _CROSSLIST_REGEX = re.compile(r'^RUNALL_CROSSLIST$') -_EXPECTED_RESULT_REGEX = re.compile(r'^(?P.*) (?P.*?)$') +_EXPECTED_RESULT_REGEX = re.compile(r'^(?P[^ ]+) (?P\w+)$') def _parse_env_line(line: str) -> Optional[_TmpEnvEntry]: @@ -138,11 +138,15 @@ def parse_result_file(filename: Union[str, bytes, os.PathLike]) \ res = dict() for line in parse_commented_file(filename): m = _EXPECTED_RESULT_REGEX.match(line) + if m is None: + raise Exception(f'Incorrectly formatted line "{line}" in {filename}.') prefix = m.group("prefix") result = m.group("result") result_code = getattr(lit.Test, result, None) if result_code is None: - result_code = getattr(stl.test.tests, result) + result_code = getattr(stl.test.tests, result, None) + if result_code is None: + raise Exception(f'Unknown result code "{result}" in line "{line}" in {filename}.') res[prefix] = result_code _expected_result_entry_cache[str(filename)] = res