summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/osproc.nim6
-rw-r--r--tools/nimsuggest/tester.nim2
-rw-r--r--tools/nimsuggest/tests/tstrutils.nim4
3 files changed, 8 insertions, 4 deletions
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim
index 44ec5b548..76bd2dfe1 100644
--- a/lib/pure/osproc.nim
+++ b/lib/pure/osproc.nim
@@ -841,15 +841,19 @@ elif not defined(useNimRtl):
       if data.workingDir.len > 0:
         setCurrentDir($data.workingDir)
       var pid: Pid
+      var err: OSErrorCode
 
       if data.optionPoUsePath:
         res = posix_spawnp(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
+        if res != 0'i32: err = osLastError()
       else:
         res = posix_spawn(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
+        if res != 0'i32: err = osLastError()
 
       discard posix_spawn_file_actions_destroy(fops)
       discard posix_spawnattr_destroy(attr)
-      chck res
+      if res != 0'i32: raiseOSError(err)
+
       return pid
   else:
     proc startProcessAuxFork(data: StartProcessData): Pid =
diff --git a/tools/nimsuggest/tester.nim b/tools/nimsuggest/tester.nim
index f340c23e1..c3c20a5ba 100644
--- a/tools/nimsuggest/tester.nim
+++ b/tools/nimsuggest/tester.nim
@@ -11,7 +11,7 @@ type
     script: seq[(string, string)]
 
 const
-  curDir = when defined(windows): "" else: "./"
+  curDir = when defined(windows): "" else: ""
   DummyEof = "!EOF!"
 
 proc parseTest(filename: string): Test =
diff --git a/tools/nimsuggest/tests/tstrutils.nim b/tools/nimsuggest/tests/tstrutils.nim
index 667c1660c..f5cda9505 100644
--- a/tools/nimsuggest/tests/tstrutils.nim
+++ b/tools/nimsuggest/tests/tstrutils.nim
@@ -1,6 +1,6 @@
 discard """
-$nimsuggest --tester ../nim/lib/pure/strutils.nim
->def ../nim/lib/pure/strutils.nim:2300:6
+$nimsuggest --tester lib/pure/strutils.nim
+>def lib/pure/strutils.nim:2300:6
 def;;skTemplate;;system.doAssert;;proc (cond: bool, msg: string): typed;;*/lib/system.nim;;*;;9;;"";;100
 """