diff options
author | Araq <rumpf_a@web.de> | 2012-07-01 19:35:19 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-07-01 19:35:19 +0200 |
commit | fe285b354dee2c8148cd66207d8ed528c7845e5d (patch) | |
tree | 01f799a3905ede0ffe6fb5af49d063733203051b /tests/tester.nim | |
parent | ee1bcb6414a50642811632a92a803840c1c67036 (diff) | |
download | Nim-fe285b354dee2c8148cd66207d8ed528c7845e5d.tar.gz |
JS codegen enhancements; still unusable
Diffstat (limited to 'tests/tester.nim')
-rwxr-xr-x | tests/tester.nim | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/tests/tester.nim b/tests/tester.nim index a26b7c178..be0765874 100755 --- a/tests/tester.nim +++ b/tests/tester.nim @@ -261,7 +261,10 @@ proc compileSingleTest(r: var TResults, test, options: string) = r.addResult(t, given.msg, if given.err: reFailure else: reSuccess) if not given.err: inc(r.passed) -proc runSingleTest(r: var TResults, test, options: string) = +type + TTarget = enum targetC, targetJS + +proc runSingleTest(r: var TResults, test, options: string, target: TTarget) = var test = test.addFileExt(".nim") var t = extractFilename(test) echo t @@ -275,9 +278,16 @@ proc runSingleTest(r: var TResults, test, options: string) = if given.err: r.addResult(t, "", given.msg, reFailure) else: - var exeFile = changeFileExt(test, ExeExt) + var exeFile: string + if target == targetC: + exeFile = changeFileExt(test, ExeExt) + else: + let (dir, file, ext) = splitFile(test) + exeFile = dir / "nimcache" / file & ".js" + if existsFile(exeFile): - var (buf, exitCode) = execCmdEx(exeFile) + var (buf, exitCode) = execCmdEx( + (if target==targetJS: "node " else: "") & exeFile) if exitCode != expected.ExitCode: r.addResult(t, "exitcode: " & $expected.ExitCode, "exitcode: " & $exitCode, reFailure) @@ -291,6 +301,9 @@ proc runSingleTest(r: var TResults, test, options: string) = else: r.addResult(t, expected.outp, "executable not found", reFailure) +proc runSingleTest(r: var TResults, test, options: string) = + runSingleTest(r, test, options, targetC) + proc run(r: var TResults, dir, options: string) = for test in os.walkFiles(dir / "t*.nim"): runSingleTest(r, test, options) @@ -350,6 +363,12 @@ proc main() = run(runRes, "tests/run", p.cmdLineRest.string) runSpecialTests(runRes, p.cmdLineRest.string) writeResults(runJson, runRes) + of "js": + var runRes = initResults() + if existsFile(runJSon): + runRes = readResults(runJson) + runJsTests(runRes, p.cmdLineRest.string) + writeResults(runJson, runRes) of "merge": var rejectRes = readResults(rejectJson) var compileRes = readResults(compileJson) |