Improve caasdriver output.
This commit is contained in:
parent
1b257652a1
commit
ebff5f1f28
1 changed files with 11 additions and 7 deletions
|
|
@ -106,7 +106,7 @@ proc close(session: var TNimrodSession) {.destructor.} =
|
||||||
if session.mode == CaasRun:
|
if session.mode == CaasRun:
|
||||||
session.nim.close
|
session.nim.close
|
||||||
|
|
||||||
proc doScenario(script: string, output: PStream, mode: TRunMode): bool =
|
proc doScenario(script: string, output: PStream, mode: TRunMode, verbose: bool): bool =
|
||||||
result = true
|
result = true
|
||||||
|
|
||||||
var f = open(script)
|
var f = open(script)
|
||||||
|
|
@ -138,7 +138,7 @@ proc doScenario(script: string, output: PStream, mode: TRunMode): bool =
|
||||||
continue
|
continue
|
||||||
elif line.startsWith(">"):
|
elif line.startsWith(">"):
|
||||||
s.doCommand(line.substr(1).strip)
|
s.doCommand(line.substr(1).strip)
|
||||||
output.writeln line, "\n", s.lastOutput
|
output.writeln line, "\n", if verbose: s.lastOutput else: ""
|
||||||
else:
|
else:
|
||||||
var expectMatch = true
|
var expectMatch = true
|
||||||
var pattern = s.replaceVars(line)
|
var pattern = s.replaceVars(line)
|
||||||
|
|
@ -155,13 +155,14 @@ proc doScenario(script: string, output: PStream, mode: TRunMode): bool =
|
||||||
output.writeln "FAILURE ", line
|
output.writeln "FAILURE ", line
|
||||||
result = false
|
result = false
|
||||||
|
|
||||||
iterator caasTestsRunner*(filter = ""): tuple[test, output: string,
|
iterator caasTestsRunner*(filter = "", verbose = false): tuple[test,
|
||||||
status: bool, mode: TRunMode] =
|
output: string, status: bool,
|
||||||
|
mode: TRunMode] =
|
||||||
for scenario in os.walkFiles(TesterDir / "caas/*.txt"):
|
for scenario in os.walkFiles(TesterDir / "caas/*.txt"):
|
||||||
if filter.len > 0 and find(scenario, filter) == -1: continue
|
if filter.len > 0 and find(scenario, filter) == -1: continue
|
||||||
for mode in modes:
|
for mode in modes:
|
||||||
var outStream = newStringStream()
|
var outStream = newStringStream()
|
||||||
let r = doScenario(scenario, outStream, mode)
|
let r = doScenario(scenario, outStream, mode, verbose)
|
||||||
yield (scenario, outStream.data, r, mode)
|
yield (scenario, outStream.data, r, mode)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
|
|
@ -179,9 +180,12 @@ when isMainModule:
|
||||||
if verbose and len(filter) > 0:
|
if verbose and len(filter) > 0:
|
||||||
echo "Running only test cases matching filter '$1'" % [filter]
|
echo "Running only test cases matching filter '$1'" % [filter]
|
||||||
|
|
||||||
for test, output, result, mode in caasTestsRunner(filter):
|
for test, output, result, mode in caasTestsRunner(filter, verbose):
|
||||||
if not result or verbose:
|
if not result or verbose:
|
||||||
echo test, "\n", output, "-> ", $mode, ":", $result, "\n-----"
|
echo "Mode ", $mode, " (", if result: "succeeded)" else: "failed)"
|
||||||
|
echo test
|
||||||
|
echo output
|
||||||
|
echo "---------\n"
|
||||||
if not result:
|
if not result:
|
||||||
failures += 1
|
failures += 1
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue