about summary refs log tree commit diff stats
path: root/998check_type_pointers.cc
Commit message (Collapse)AuthorAgeFilesLines
* 2463 - make edit/ robust to errors in client codeKartik K. Agaram2015-11-191-33/+36
|
* 2430 - make room for more transformsKartik K. Agaram2015-11-131-0/+33
/td>
discard """
  cmd: "nim $target $options -r $file"
  targets: "c cpp"
  matrix: "--threads:on; "
"""

import os, osproc, times, std / monotimes

when defined(Windows):
  const ProgramWhichDoesNotEnd = "notepad"
elif defined(openbsd):
  const ProgramWhichDoesNotEnd = "/bin/cat"
else:
  const ProgramWhichDoesNotEnd = "/bin/sh"

echo("starting " & ProgramWhichDoesNotEnd)
var process = startProcess(ProgramWhichDoesNotEnd)
sleep(500)
echo("stopping process")
process.terminate()
var TimeToWait = 5000
while process.running() and TimeToWait > 0:
  sleep(100)
  TimeToWait = TimeToWait - 100

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)