diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-20 19:19:31 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-20 19:19:31 -0700 |
commit | 714611bd0ca66e2674d0aee8034dae355add9f57 (patch) | |
tree | 54e8843b56139e91122283c8cdb1c3c7f6c6b5e2 /tests/018 | |
parent | a93ca48fd3bad30132dff3df62637a6d8dcf28e2 (diff) | |
download | txr-714611bd0ca66e2674d0aee8034dae355add9f57.tar.gz txr-714611bd0ca66e2674d0aee8034dae355add9f57.tar.bz2 txr-714611bd0ca66e2674d0aee8034dae355add9f57.zip |
subprocesses: cygwin fixes.
* stream.c (fds_subst, fds_swizzle, fds_restore): These functions are
used on Cygwin by some functions that are based on spawn, and so must be
avaiable.
* tests/018/process.tl: Two fixes here. Firstly, the 1>&1 redirection in
one of the tests should be 1>&2 on all platforms. That a temporary edit
left behind from massaging the tests and the code. Secondly, some weird
results are observed on Cygwin. The communication with the child sees
an extra carriage return and space sneak in. I'm just codifying this as
Cygwin's way of passing the test case; it's likely unfixable at the
application level.
Diffstat (limited to 'tests/018')
-rw-r--r-- | tests/018/process.tl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/018/process.tl b/tests/018/process.tl index b34047b2..1b3780ac 100644 --- a/tests/018/process.tl +++ b/tests/018/process.tl @@ -13,6 +13,12 @@ ^(with-stream (s (open-subprocess nil "r" nil (lambda () ,*forms))) (get-string s))) -(mtest - (fcmd (let ((*stdout* *stdnull*)) (sh "echo foo"))) "" - (fcmd (let ((*stderr* *stdout*)) (sh "echo foo 1>&1"))) "foo\n") +(caseq (os-symbol) + ((:cygwin :cygnal) + (mtest + (fcmd (let ((*stdout* *stdnull*)) (sh "echo foo"))) "" + (fcmd (let ((*stderr* *stdout*)) (sh "echo foo 1>&2"))) "foo \r\n")) + (t + (mtest + (fcmd (let ((*stdout* *stdnull*)) (sh "echo foo"))) "" + (fcmd (let ((*stderr* *stdout*)) (sh "echo foo 1>&2"))) "foo\n"))) |