summaryrefslogtreecommitdiffstats
path: root/tests/018
diff options
context:
space:
mode:
Diffstat (limited to 'tests/018')
-rw-r--r--tests/018/process.tl18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/018/process.tl b/tests/018/process.tl
new file mode 100644
index 00000000..b34047b2
--- /dev/null
+++ b/tests/018/process.tl
@@ -0,0 +1,18 @@
+(load "../common")
+
+(defun cmd (c : (m "r"))
+ (with-stream (s (open-command c m))
+ (get-string s)))
+
+(mtest
+ (cmd "echo foo") "foo\n"
+ (cmd "echo foo" ">1n") ""
+ (cmd "echo foo 1>&2" ">21") "foo\n")
+
+(defmacro fcmd (. forms)
+ ^(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")