tester now outputs json
This commit is contained in:
parent
1893f4101a
commit
74b1b28f7e
1 changed files with 22 additions and 5 deletions
|
|
@ -10,11 +10,12 @@
|
||||||
## This program verifies Nimrod against the testcases.
|
## This program verifies Nimrod against the testcases.
|
||||||
|
|
||||||
import
|
import
|
||||||
parseutils, strutils, pegs, os, osproc, streams, parsecfg, browsers
|
parseutils, strutils, pegs, os, osproc, streams, parsecfg, browsers, json
|
||||||
|
|
||||||
const
|
const
|
||||||
cmdTemplate = r"nimrod cc --hints:on $# $#"
|
cmdTemplate = r"nimrod cc --hints:on $# $#"
|
||||||
resultsFile = "testresults.html"
|
resultsFile = "testresults.html"
|
||||||
|
jsonFile = "testresults.json"
|
||||||
|
|
||||||
type
|
type
|
||||||
TTestAction = enum
|
TTestAction = enum
|
||||||
|
|
@ -180,8 +181,7 @@ proc listResults(reject, compile, run: TResults) =
|
||||||
s.add($run)
|
s.add($run)
|
||||||
s.add(TableHeader4 & run.data & TableFooter)
|
s.add(TableHeader4 & run.data & TableFooter)
|
||||||
s.add("</html>")
|
s.add("</html>")
|
||||||
var outp: TFile
|
var outp = open(resultsFile, fmWrite)
|
||||||
if open(outp, resultsFile, fmWrite):
|
|
||||||
write(outp, s)
|
write(outp, s)
|
||||||
close(outp)
|
close(outp)
|
||||||
|
|
||||||
|
|
@ -266,6 +266,22 @@ proc compileExample(r: var TResults, pattern, options: string) =
|
||||||
proc testLib(r: var TResults, options: string) =
|
proc testLib(r: var TResults, options: string) =
|
||||||
nil
|
nil
|
||||||
|
|
||||||
|
proc toJson(res: TResults): PJsonNode =
|
||||||
|
result = newJObject()
|
||||||
|
result["total"] = newJInt(res.total)
|
||||||
|
result["passed"] = newJInt(res.passed)
|
||||||
|
result["skipped"] = newJInt(res.skipped)
|
||||||
|
|
||||||
|
proc outputJSON(reject, compile, run: TResults) =
|
||||||
|
var doc = newJObject()
|
||||||
|
doc["reject"] = toJson(reject)
|
||||||
|
doc["compile"] = toJson(compile)
|
||||||
|
doc["run"] = toJson(run)
|
||||||
|
var s = pretty(doc)
|
||||||
|
var outp = open(jsonFile, fmWrite)
|
||||||
|
write(outp, s)
|
||||||
|
close(outp)
|
||||||
|
|
||||||
var options = ""
|
var options = ""
|
||||||
var rejectRes = initResults()
|
var rejectRes = initResults()
|
||||||
var compileRes = initResults()
|
var compileRes = initResults()
|
||||||
|
|
@ -281,5 +297,6 @@ compileExample(compileRes, "examples/*.nim", options)
|
||||||
compileExample(compileRes, "examples/gtk/*.nim", options)
|
compileExample(compileRes, "examples/gtk/*.nim", options)
|
||||||
run(runRes, "tests/accept/run", options)
|
run(runRes, "tests/accept/run", options)
|
||||||
listResults(rejectRes, compileRes, runRes)
|
listResults(rejectRes, compileRes, runRes)
|
||||||
|
outputJSON(rejectRes, compileRes, runRes)
|
||||||
openDefaultBrowser(resultsFile)
|
openDefaultBrowser(resultsFile)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue