diff options
author | alaviss <alaviss@users.noreply.github.com> | 2020-04-10 07:34:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-10 09:34:52 +0200 |
commit | 5f6962337de94b524afbb4f41b79eae362af67c8 (patch) | |
tree | 32c61462e7fb3b7072a7c0c30c699c372b2cfb97 /tests/stdlib | |
parent | cc3f5d21b249fe8f96f61369e53e794bf34e65a5 (diff) | |
download | Nim-5f6962337de94b524afbb4f41b79eae362af67c8.tar.gz |
osproc: added a better version of waitForExit for Haiku (#13938)
Also modified tosprocterminate to verify waitForExit implementations.
Diffstat (limited to 'tests/stdlib')
-rw-r--r-- | tests/stdlib/tosprocterminate.nim | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/tests/stdlib/tosprocterminate.nim b/tests/stdlib/tosprocterminate.nim index a46d91d68..d487b5e60 100644 --- a/tests/stdlib/tosprocterminate.nim +++ b/tests/stdlib/tosprocterminate.nim @@ -1,8 +1,10 @@ discard """ -outputsub: "SUCCESS" + cmd: "nim $target $options -r $file" + targets: "c cpp" + matrix: "--threads:on; " """ -import os, osproc +import os, osproc, times, std / monotimes when defined(Windows): const ProgramWhichDoesNotEnd = "notepad" @@ -19,7 +21,21 @@ while process.running() and TimeToWait > 0: sleep(100) TimeToWait = TimeToWait - 100 -if process.running(): - echo("FAILED") -else: - echo("SUCCESS") +doAssert not process.running() +echo("stopped process") + +process.close() + +echo("starting " & ProgramWhichDoesNotEnd) +process = startProcess(ProgramWhichDoesNotEnd) +echo("process should be stopped after 2s") + +let start = getMonoTime() +discard process.waitForExit(2000) +let took = getMonoTime() - start + +doAssert not process.running() +# some additional time to account for overhead +doAssert took < initDuration(seconds = 3) + +echo("stopped process after ", took) |