diff options
Diffstat (limited to 'tests/osproc')
-rw-r--r-- | tests/osproc/tclose.nim | 24 | ||||
-rw-r--r-- | tests/osproc/tstdin.nim | 11 |
2 files changed, 29 insertions, 6 deletions
diff --git a/tests/osproc/tclose.nim b/tests/osproc/tclose.nim new file mode 100644 index 000000000..d466b466a --- /dev/null +++ b/tests/osproc/tclose.nim @@ -0,0 +1,24 @@ +discard """ + exitcode: 0 +""" + +when defined(linux): + import osproc, os + + proc countFds(): int = + result = 0 + for i in walkDir("/proc/self/fd"): + result += 1 + + let initCount = countFds() + + let p = osproc.startProcess("echo", options={poUsePath}) + assert countFds() == initCount + 3 + p.close + assert countFds() == initCount + + let p1 = osproc.startProcess("echo", options={poUsePath}) + discard p1.inputStream + assert countFds() == initCount + 3 + p.close + assert countFds() == initCount diff --git a/tests/osproc/tstdin.nim b/tests/osproc/tstdin.nim index d94c34192..9b49ed786 100644 --- a/tests/osproc/tstdin.nim +++ b/tests/osproc/tstdin.nim @@ -11,9 +11,8 @@ doAssert fileExists(getCurrentDir() / "tests" / "osproc" / filename) var p = startProcess(filename, getCurrentDir() / "tests" / "osproc") p.inputStream.write("5\n") p.inputStream.flush() -while true: - let line = p.outputStream.readLine() - if line != "": - echo line - else: - break + +var line = "" + +while p.outputStream.readLine(line.TaintedString): + echo line |