diff test/testc3.py @ 306:b145f8e6050b

Start on c3 rewrite
author Windel Bouwman
date Mon, 09 Dec 2013 19:00:21 +0100
parents be7f60545368
children e609d5296ee9
line wrap: on
line diff
--- a/test/testc3.py	Fri Dec 06 13:50:38 2013 +0100
+++ b/test/testc3.py	Mon Dec 09 19:00:21 2013 +0100
@@ -45,23 +45,35 @@
         self.builder = Builder(self.diag, SimpleTarget())
         self.diag.clear()
 
+    def makeFileList(self, snippet):
+        """ Try to make a list with opened files """
+        if type(snippet) is list:
+            l2 = []
+            for s in snippet:
+                if type(s) is str:
+                    l2.append(io.StringIO(s))
+                else:
+                    l2.append(s)
+            return l2
+        else:
+            return [io.StringIO(snippet)]
+
     def expectErrors(self, snippet, rows):
         """ Helper to test for expected errors on rows """
         ircode = list(self.builder.build([io.StringIO(snippet)]))
         actualErrors = [err.row for err in self.diag.diags]
         if rows != actualErrors:
-            self.diag.printErrors(snippet)
+            self.diag.printErrors()
         self.assertSequenceEqual(rows, actualErrors)
         # self.assertFalse(all(ircode))
 
     def expectOK(self, snippet):
-        if type(snippet) is list:
-            ircode = self.builder.build(snippet)
-        else:
-            ircode = self.builder.build([io.StringIO(snippet)])
-        if not ircode:
-            self.diag.printErrors(snippet)
+        """ Expect a snippet to be OK """
+        ircode = list(self.builder.build(self.makeFileList(snippet)))
+        if len(self.diag.diags) > 0:
+            self.diag.printErrors()
         self.assertTrue(all(ircode))
+        self.assertEqual(0, len(self.diag.diags))
         return ircode
 
     def testPackage(self):
@@ -70,9 +82,9 @@
         """
         p2 = """module p2;
         import p1;
-        var A b;
+        var p1.A b;
         """
-        self.expectOK([io.StringIO(s) for s in (p1, p2)])
+        self.expectOK([p1, p2])
 
     def testPackageMutual(self):
         p1 = """module p1;
@@ -84,13 +96,13 @@
         import p1;
         var p1.A a;
         """
-        self.expectOK([io.StringIO(s) for s in (p1, p2)])
+        self.expectOK([p1, p2])
 
     def testPackageNotExists(self):
         p1 = """module p1;
         import p23;
         """
-        self.expectOK([io.StringIO(p1)])
+        self.expectErrors(p1, [0])
 
     def testFunctArgs(self):
         snippet = """
@@ -177,7 +189,8 @@
         var int a;
         function void t()
          {
-         var int i = 0;
+         var int i;
+         i = 0;
          while (i < 1054)
          {
             i = i + 3;