summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/nim.nim5
-rw-r--r--lib/pure/nodejs.nim6
-rw-r--r--tests/assert/tfailedassert.nim4
-rw-r--r--tests/testament/tester.nim7
4 files changed, 15 insertions, 7 deletions
diff --git a/compiler/nim.nim b/compiler/nim.nim
index b23d438e0..617758b2d 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/pure/nodejs.nim b/lib/pure/nodejs.nim
new file mode 100644
index 000000000..e2b79df19
--- /dev/null
+++ b/lib/pure/nodejs.nim
@@ -0,0 +1,6 @@
+import os
+
+proc findNodeJs*(): string =
+  result = findExe("nodejs")
+  if result == "":
+    result = findExe("node")
diff --git a/tests/assert/tfailedassert.nim b/tests/assert/tfailedassert.nim
index 4994e13c8..d03d3136b 100644
--- a/tests/assert/tfailedassert.nim
+++ b/tests/assert/tfailedassert.nim
@@ -1,6 +1,6 @@
 discard """
   output: '''
-WARNING: false first asseertion from bar
+WARNING: false first assertion from bar
 ERROR: false second assertion from bar
 -1
 tfailedassert.nim:27 false assertion from foo
@@ -31,7 +31,7 @@ proc bar: int =
   # in this proc
   onFailedAssert(msg): echo "WARNING: " & msg
     
-  assert(false, "first asseertion from bar")
+  assert(false, "first assertion from bar")
 
   onFailedAssert(msg):
     echo "ERROR: " & msg
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index b37f72f04..33cd2291d 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)