diff options
Diffstat (limited to 'tests/osproc/twaitforexit.nim')
-rw-r--r-- | tests/osproc/twaitforexit.nim | 25 |
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) |