diff -r e46fa477007b -r 66c9591b733d tests/misc.py --- a/tests/misc.py Fri May 24 15:32:10 2019 +0300 +++ b/tests/misc.py Fri May 24 17:37:10 2019 +0200 @@ -1,4 +1,5 @@ -from testsuite import warning +from testsuite import error, warning +import linetypes def colours_test(model): ''' Checks that all colours used in the part model are valid. ''' @@ -8,14 +9,26 @@ if hasattr(element, 'colour') and not element.colour.is_valid ) +def syntax_errors(model): + yield from ( + error(element, 'syntax-error', reason = element.reason) + for element in model.body + if isinstance(element, linetypes.Error) + ) + manifest = { 'tests': { 'colour-validity': colours_test, + 'syntax-errors': syntax_errors, }, 'messages': { 'bad-colour': lambda colour_index: str.format( 'invalid colour {}', colour_index, ), + 'syntax-error': lambda reason: str.format( + 'syntax error: {}', + reason, + ), }, }