Files
Nim/tests/osproc/treadlines.nim
c-blake 26d656e73e Add first draft of new osproc.readLines (#15429)
* Add first draft of new osproc.readLines

* Add test for new osproc.readLines

* Rename test to start w/t to run; Also add newline to output

* Suppress hint messages.

* Output should match this time.

* Shoulda picked a program with simpler syntax than ..lol

* Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-701890898
and https://github.com/nim-lang/Nim/pull/15429#issuecomment-701985976 by
factoring `readLines` into `iterator lines` and a wrapper `proc`.

* Address https://github.com/nim-lang/Nim/pull/15429#issuecomment-702127289
and also add a `ReadIOEffect` tag to the iterator (called by the wrapper..
so it should need no separate tag, if I understand correctly).
2020-10-01 18:06:38 +02:00

21 lines
497 B
Nim

discard """
output: '''Error: cannot open 'a.nim'
Error: cannot open 'b.nim'
'''
targets: "c"
"""
import osproc
var ps: seq[Process] # compile & run 2 progs in parallel
for prog in ["a", "b"]:
ps.add startProcess("nim", "",
["r", "--hint[Conf]=off", "--hint[Processing]=off", prog],
options = {poUsePath, poDaemon, poStdErrToStdOut})
for p in ps:
let (lines, exCode) = p.readLines
if exCode != 0:
for line in lines: echo line
p.close