summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSimon Hafner <hafnersimon@gmail.com>2015-03-09 11:30:40 -0500
committerSimon Hafner <hafnersimon@gmail.com>2015-03-09 11:30:40 -0500
commit8f8171a0c4d39302062acccb701d60544e809e8e (patch)
tree51da4aa31a951298e4fee04e75ba5e4638a7d78a
parent41ce6571a32ecd63c67ba7f972c7fb1c0f4f9200 (diff)
downloadNim-8f8171a0c4d39302062acccb701d60544e809e8e.tar.gz
fixed tester back up
-rw-r--r--tests/testament/tester.nim48
1 files changed, 27 insertions, 21 deletions
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index 0a0d08173..d34935164 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -142,27 +142,24 @@ proc generatedFile(path, name: string, target: TTarget): string =
     name.changeFileExt(ext)
 
 proc codegenCheck(test: TTest, check: string, given: var TSpec, r: var TResults) =
-  if check.len > 0:
-    try:
-      let (path, name, ext2) = test.name.splitFile
-      let genFile = generatedFile(path, name, test.target)
-      echo genFile
-      let contents = readFile(genFile).string
-      if contents.find(check.peg) < 0:
-        given.err = reCodegenFailure
-    except ValueError:
-      given.err = reInvalidPeg
-    except IOError:
-      given.err = reCodeNotFound
-    r.addResult(test, "", given.msg, given.err)
+  try:
+    let (path, name, ext2) = test.name.splitFile
+    let genFile = generatedFile(path, name, test.target)
+    echo genFile
+    let contents = readFile(genFile).string
+    if contents.find(check.peg) < 0:
+      given.err = reCodegenFailure
+  except ValueError:
+    given.err = reInvalidPeg
+  except IOError:
+    given.err = reCodeNotFound
+  r.addResult(test, "", given.msg, given.err)
 
 proc nimoutCheck(test: TTest; expectedNimout: string; given: var TSpec, r: var TResults) =
-  if expectedNimout.len > 0:
-    let exp = expectedNimout.strip.replace("\C\L", "\L")
-    let giv = given.nimout.strip.replace("\C\L", "\L")
-    if exp notin giv:
-      given.err = reMsgsDiffer
-    r.addResult(test, exp, giv, given.err)
+  let exp = expectedNimout.strip.replace("\C\L", "\L")
+  let giv = given.nimout.strip.replace("\C\L", "\L")
+  if exp notin giv:
+    given.err = reMsgsDiffer
 
 
 proc makeDeterministic(s: string): string =
@@ -171,10 +168,19 @@ proc makeDeterministic(s: string): string =
   result = join(x, "\n")
 
 proc compilerOutputTests(test: TTest, given: var TSpec, expected: TSpec, r: var TResults) =
+  var expectedmsg: string = ""
+  var givenmsg: string = ""
   if given.err == reSuccess:
-    codegenCheck(test, expected.ccodeCheck, given, r)
-    nimoutCheck(test, expected.nimout, given, r)
+    if expected.ccodeCheck.len > 0:
+      codegenCheck(test, expectedmsg, given, r)
+      expectedmsg = expected.ccodeCheck
+      givenmsg = given.msg
+    if expected.nimout.len > 0:
+      expectedmsg = expected.nimout
+      givenmsg = given.nimout.strip
+      nimoutCheck(test, expectedmsg, given, r)
   if given.err == reSuccess: inc(r.passed)
+  r.addResult(test, expectedmsg, givenmsg, given.err)
 
 
 proc testSpec(r: var TResults, test: TTest) =