summary refs log tree commit diff stats
path: root/tests/caasdriver.nim
diff options
context:
space:
mode:
authorGrzegorz Adam Hankiewicz <gradha@imap.cc>2013-06-07 18:25:57 +0200
committerGrzegorz Adam Hankiewicz <gradha@imap.cc>2013-06-07 18:25:57 +0200
commit2793170feddab3e2124216c695de45ae7c541477 (patch)
tree74079b7fd7e9383662307410daf15f1b0f9fef79 /tests/caasdriver.nim
parentb92c87e2ecbe4d773440a80098d971238cdf532e (diff)
downloadNim-2793170feddab3e2124216c695de45ae7c541477.tar.gz
Makes caasdriver exit with number of errors.
Also displays result and separator after each test.
Diffstat (limited to 'tests/caasdriver.nim')
-rw-r--r--tests/caasdriver.nim21
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/caasdriver.nim b/tests/caasdriver.nim
index 3f3d3671e..7472cfdeb 100644
--- a/tests/caasdriver.nim
+++ b/tests/caasdriver.nim
@@ -18,9 +18,9 @@ proc startNimrodSession*(project: string): TNimrodSession =
 proc doCommand*(session: var TNimrodSession, command: string): string =
   session.nim.inputStream.write(command & "\n")
   session.nim.inputStream.flush
-  
+
   result = ""
-  
+
   while true:
     var line = TaintedString("")
     if session.nim.outputStream.readLine(line):
@@ -38,7 +38,7 @@ proc doScenario(script: string, output: PStream): bool =
 
   var f = open(script)
   var project = TaintedString("")
-  
+
   if f.readLine(project):
     var
       s = startNimrodSession(script.dirname / project.string)
@@ -78,9 +78,14 @@ iterator caasTestsRunner*(filter = ""): tuple[test, output: string,
     yield (scenario, outStream.data, r)
 
 when isMainModule:
-  var filter = ""
+  var
+    filter = ""
+    failures = 0
   if paramCount() > 0: filter = paramStr(1)
-  
-  for t, o, r in caasTestsRunner(filter):
-    echo t, "\n", o
-    
+
+  for test, output, result in caasTestsRunner(filter):
+    echo test, "\n", output, "-> ", $result, "\n-----"
+    if not result:
+      failures += 1
+
+  quit(failures)