summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest-suite/standalone/test-system-cmds42
1 files changed, 42 insertions, 0 deletions
diff --git a/test-suite/standalone/test-system-cmds b/test-suite/standalone/test-system-cmds
new file mode 100755
index 000000000..d0e4a6991
--- /dev/null
+++ b/test-suite/standalone/test-system-cmds
@@ -0,0 +1,42 @@
+#!/bin/sh
+exec guile -s "$0" "$@"
+!#
+
+(define (test-system-cmd)
+ (if (not (boolean? (system)))
+ (begin
+ (simple-format
+ #t
+ "test-system-cmds: (system) did not return a boolean\n")
+ (exit 1)))
+
+ (let ((rs (status:exit-val (system "guile -c '(exit 42)'"))))
+ (if (not (= 42 rs))
+ (begin
+ (simple-format
+ #t
+ "test-system-cmds: system exit status was ~S rather than 42\n"
+ rs)
+ (exit 1)))))
+
+(define (test-system*-cmd)
+ (let ((rs (status:exit-val (system* "guile" "-c" "(exit 42)"))))
+ (if (not (= 42 rs))
+ (begin
+ (simple-format
+ #t
+ "test-system-cmds: system* exit status was ~S rather than 42\n"
+ rs)
+ (exit 1)))))
+
+(if (defined? 'system)
+ (test-system-cmd))
+
+(if (defined? 'system*)
+ (test-system*-cmd))
+
+(exit 0)
+
+;; Local Variables:
+;; mode: scheme
+;; End: \ No newline at end of file