diff test/testcg.py @ 284:05184b95fa16

Moved tests to seperate folder
author Windel Bouwman
date Fri, 15 Nov 2013 13:43:22 +0100
parents python/testcg.py@e64bae57cda8
children 7b38782ed496
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/testcg.py	Fri Nov 15 13:43:22 2013 +0100
@@ -0,0 +1,41 @@
+import unittest
+import ppci, codegen, ir
+import cortexm3 as arm
+import codegenarm
+import outstream
+
+def genTestFunction():
+    m = ir.Module('tst')
+    f = ir.Function('tst')
+    m.addFunction(f)
+    return m, f, f.entry
+
+
+class testCodeGeneration(unittest.TestCase):
+    def setUp(self):
+        self.cg = codegen.CodeGenerator(arm.armtarget)
+
+    def testFunction(self):
+        m, f, bb = genTestFunction()
+        bb.addInstruction(ir.Const(123))
+        bb.addInstruction(ir.Jump(f.epiloog))
+        m.check()
+        obj = self.cg.generate(m)
+        self.assertTrue(obj)
+
+
+class testArmCodeGeneration(unittest.TestCase):
+    def testStack(self):
+        s = outstream.OutputStream()
+        cg = codegenarm.ArmCodeGenerator(s)
+        m, f, bb = genTestFunction()
+        bb.addInstruction(ir.Move(ir.Mem(ir.Const(1)), ir.Const(22)))
+        bb.addInstruction(ir.Jump(f.epiloog))
+        m.check()
+        cg.generate(m)
+        #s.dump()
+
+
+if __name__ == '__main__':
+    unittest.main()
+