summary refs log tree commit diff stats
path: root/tests/osproc/twaitforexit.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/osproc/twaitforexit.nim')
-rw-r--r--tests/osproc/twaitforexit.nim25
1 files changed, 15 insertions, 10 deletions
diff --git a/tests/osproc/twaitforexit.nim b/tests/osproc/twaitforexit.nim
index 67caa4165..535faca63 100644
--- a/tests/osproc/twaitforexit.nim
+++ b/tests/osproc/twaitforexit.nim
@@ -18,16 +18,21 @@ block: # bug #5091
         doAssert(getTime() <  atStart + milliseconds(msWait))
 
 block: # bug #23825
-    var thr: array[0..99, Thread[int]]
 
-    proc threadFunc(i: int) {.thread.} =
-        let sleepTime = float(i) / float(thr.len + 1)
-        doAssert sleepTime < 1.0
-        let p = startProcess("sleep", workingDir = "", args = @[$sleepTime], options = {poUsePath, poParentStreams})
-        # timeout = 1_000_000 seconds ~= 278 hours ~= 11.5 days
-        doAssert p.waitForExit(timeout=1_000_000_000) == 0
+    # the sleep command might not be available in all Windows installations
 
-    for i in low(thr)..high(thr):
-        createThread(thr[i], threadFunc, i)
+    when defined(linux):
+
+        var thr: array[0..99, Thread[int]]
+
+        proc threadFunc(i: int) {.thread.} =
+            let sleepTime = float(i) / float(thr.len + 1)
+            doAssert sleepTime < 1.0
+            let p = startProcess("sleep", workingDir = "", args = @[$sleepTime], options = {poUsePath, poParentStreams})
+            # timeout = 1_000_000 seconds ~= 278 hours ~= 11.5 days
+            doAssert p.waitForExit(timeout=1_000_000_000) == 0
+
+        for i in low(thr)..high(thr):
+            createThread(thr[i], threadFunc, i)
 
-    joinThreads(thr) 
+        joinThreads(thr)