From 9a9895123961e426afbaf33b6662f190f58f0dd7 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Mon, 1 Oct 2012 16:52:59 +0100 Subject: Provide a more complete set of primitives, and convert fit-pipes to fork/pipe+ chain --- test/run.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/run.scm (limited to 'test') diff --git a/test/run.scm b/test/run.scm new file mode 100644 index 0000000..1256845 --- /dev/null +++ b/test/run.scm @@ -0,0 +1,38 @@ +(include "../scsh-process.scm") +(import scsh-process) + +(use test posix) + +(test-group "Procedural interface" + (test "Fork/pipe \"hello world\" example from SCSH reference manual" + "Hello, world." + (begin (fork/pipe + (lambda () + (with-output-to-port (open-output-file* 1) + (lambda () (display "Hello, world.\n") (exit 0))))) + (read-line (open-input-file* 0)))) + (test "run/string* returns a string output in a subprocess" + "This is a test" + (run/string* (lambda () (display "This is a test") (exit 0))))) + +(test-group "Macro (EPF) interface" + (delete-file* "outfile") ; Leftovers + (let ((outfile "outfile")) + (test "Subprocess writing to a file" + "hi, there\n" + (begin (run (echo "hi, there") (> ,outfile)) + (read-all "outfile")))) + + (delete-file* "outfile") + (let ((echo-command 'echo)) + (test "Subprocess piped to another process, writing to a file" + "1235\n" + (begin (run (pipe (,echo-command "1234" + 1) ("bc")) (> outfile)) + (read-all "outfile")))) + (delete-file* "outfile") + + (test "Simple run/string" + "hi, there\n" + (run/string (echo "hi, there")))) + +(test-exit) \ No newline at end of file -- cgit v1.2.3