tests/misc.py

changeset 38
66c9591b733d
parent 26
7c263b864371
child 47
4da025d0b283
--- 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,
+        ),
     },
 }

mercurial