diff options
Diffstat (limited to 'tests/test_declarations.py')
-rw-r--r-- | tests/test_declarations.py | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/tests/test_declarations.py b/tests/test_declarations.py deleted file mode 100644 index 9eaf488..0000000 --- a/tests/test_declarations.py +++ /dev/null @@ -1,53 +0,0 @@ -import unittest - -from crowbar_reference_compiler import compile_to_ssa, load_declarations, parse_header, parse_implementation, scan -from crowbar_reference_compiler.declarations import ArrayType, BasicType, EnumDeclaration, PointerType, \ - StructDeclaration, UnionDeclaration, VariableDeclaration - - -class TestDeclarationLoading(unittest.TestCase): - def test_kitchen_sink(self): - code = r""" -struct normal { - bool fake; - (uint8[3])* data; -} - -opaque struct ope; - -enum sample { - Testing, -} - -union robust { - enum sample tag; - - switch (tag) { - case Testing: bool testPassed; - } -} - -fragile union not_robust { - int8 sample; - bool nope; -} -""" - tokens = scan(code) - parse_tree = parse_header(tokens) - decls = load_declarations(parse_tree, []) - normal = StructDeclaration('normal', [ - VariableDeclaration('fake', BasicType('bool'), None), - VariableDeclaration('data', PointerType(ArrayType(BasicType('uint8'), 3)), None), - ]) - ope = StructDeclaration('ope', None) - sample = EnumDeclaration('sample', [('Testing', None)]) - robust = UnionDeclaration('robust', VariableDeclaration('tag', BasicType('enum sample'), None), - [('Testing', VariableDeclaration('testPassed', BasicType('bool'), None))]) - not_robust = UnionDeclaration('not_robust', None, - [VariableDeclaration('sample', BasicType('int8'), None), - VariableDeclaration('nope', BasicType('bool'), None)]) - self.assertListEqual(decls, [normal, ope, sample, robust, not_robust]) - - -if __name__ == '__main__': - unittest.main() |