Raises an exception if any ignorable clues declared in a Rule are improperly detected in the rule text file.
(rule_directories, is_builtin)
| 1047 | |
| 1048 | |
| 1049 | def validate_ignorable_clues(rule_directories, is_builtin): |
| 1050 | """ |
| 1051 | Raises an exception if any ignorable clues declared in a Rule are improperly detected |
| 1052 | in the rule text file. |
| 1053 | """ |
| 1054 | messages = ['Errors while validating ignorable rules:'] |
| 1055 | error_present = False |
| 1056 | for rules_dir in rule_directories: |
| 1057 | r = list(load_rules( |
| 1058 | rules_data_dir=rules_dir, |
| 1059 | is_builtin=is_builtin, |
| 1060 | )) |
| 1061 | for rule in r: |
| 1062 | if _ignorable_clue_error(rule, rules_dir): |
| 1063 | error_present = True |
| 1064 | result, expected = _ignorable_clue_error(rule, rules_dir) |
| 1065 | messages.append('') |
| 1066 | messages.append(f'{rule!r}') |
| 1067 | messages.append('Result:') |
| 1068 | messages.append(result) |
| 1069 | messages.append('Expected:') |
| 1070 | messages.append(expected) |
| 1071 | if error_present: |
| 1072 | raise InvalidRule('\n'.join(messages)) |
| 1073 | |
| 1074 | |
| 1075 | class InvalidRule(Exception): |
no test coverage detected