diff options
author | Simon Hafner <hafnersimon@gmail.com> | 2015-01-24 18:02:00 -0600 |
---|---|---|
committer | Simon Hafner <hafnersimon@gmail.com> | 2015-01-27 13:02:17 -0600 |
commit | 2beaa7a2da40e336b9606949ba65e0631c775767 (patch) | |
tree | ed794be15497d993fc57ecc60ac6fde138ed6174 | |
parent | 9c12ad0187746d18589c655475b50571fc28fef4 (diff) | |
download | Nim-2beaa7a2da40e336b9606949ba65e0631c775767.tar.gz |
find the nodejs binary
upstream calls it node, debian calls it nodejs. We gotta look for both of them.
-rw-r--r-- | compiler/nim.nim | 5 | ||||
-rw-r--r-- | lib/core/nodejs.nim | 6 | ||||
-rw-r--r-- | tests/testament/tester.nim | 7 |
3 files changed, 13 insertions, 5 deletions
diff --git a/compiler/nim.nim b/compiler/nim.nim index a87e0a1ac..553c4635f 100644 --- a/compiler/nim.nim +++ b/compiler/nim.nim @@ -15,7 +15,8 @@ when defined(gcc) and defined(windows): import commands, lexer, condsyms, options, msgs, nversion, nimconf, ropes, - extccomp, strutils, os, osproc, platform, main, parseopt, service + extccomp, strutils, os, osproc, platform, main, parseopt, service, + nodejs when hasTinyCBackend: import tccgen @@ -67,7 +68,7 @@ proc handleCmdLine() = else: ex = quoteShell( completeCFilePath(changeFileExt(gProjectFull, "js").prependCurDir)) - execExternalProgram("node " & ex & ' ' & commands.arguments) + execExternalProgram(findNodeJs & " " & ex & ' ' & commands.arguments) else: var binPath: string if options.outFile.len > 0: diff --git a/lib/core/nodejs.nim b/lib/core/nodejs.nim new file mode 100644 index 000000000..e2b79df19 --- /dev/null +++ b/lib/core/nodejs.nim @@ -0,0 +1,6 @@ +import os + +proc findNodeJs*(): string = + result = findExe("nodejs") + if result == "": + result = findExe("node") diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim index ba3abd1bd..9a53f960a 100644 --- a/tests/testament/tester.nim +++ b/tests/testament/tester.nim @@ -12,7 +12,7 @@ import parseutils, strutils, pegs, os, osproc, streams, parsecfg, json, marshal, backend, parseopt, specs, htmlgen, browsers, terminal, - algorithm + algorithm, nodejs const resultsFile = "testresults.html" @@ -187,12 +187,13 @@ proc testSpec(r: var TResults, test: TTest) = else: exeFile = changeFileExt(tname, ExeExt) if existsFile(exeFile): - if test.target == targetJS and findExe("nodejs") == "": + let nodejs = findNodeJs() + if test.target == targetJS and nodejs == "": r.addResult(test, expected.outp, "nodejs binary not in PATH", reExeNotFound) return var (buf, exitCode) = execCmdEx( - (if test.target == targetJS: "nodejs " else: "") & exeFile) + (if test.target == targetJS: nodejs & " " else: "") & exeFile) if exitCode != expected.exitCode: r.addResult(test, "exitcode: " & $expected.exitCode, "exitcode: " & $exitCode, reExitCodesDiffer) |