Mercurial > lcfOS
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;