diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | tests/caasdriver.nim | 21 |
2 files changed, 16 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore index 7bca71531..93dae69ba 100644 --- a/.gitignore +++ b/.gitignore @@ -167,4 +167,7 @@ examples/cross_calculator/android/tags /run.json /testresults.html /testresults.json +/tests/caas/imported +/tests/caas/main +/tests/caasdriver /tools/nimgrep 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) |