0.9.5.34:
[sbcl.git] / tests / run-program.test.sh
index 9f7b9ab..00399d1 100644 (file)
 
 # Make sure that there's at least something in the environment (for
 # one of the tests below).
-export SOMETHING_IN_THE_ENVIRONMENT='yes there is'
+SOMETHING_IN_THE_ENVIRONMENT='yes there is'
+export SOMETHING_IN_THE_ENVIRONMENT
+PATH=/some/path/that/does/not/exist:${PATH}
+export PATH
 
 ${SBCL:-sbcl} <<EOF
+  ;; test that $PATH is searched
+  (assert (zerop (sb-ext:process-exit-code 
+                 (sb-ext:run-program "true" () :search t :wait t))))
+  (assert (not (zerop (sb-ext:process-exit-code 
+                      (sb-ext:run-program "false" () :search t :wait t)))))
   (let ((string (with-output-to-string (stream)
                   (sb-ext:run-program "/bin/echo"
                                       '("foo" "bar")
@@ -49,6 +57,13 @@ ${SBCL:-sbcl} <<EOF
   ;; That's not just because POSIX-ENVIRON is having a bad hair
   ;; day and returning NIL, is it?
   (assert (plusp (length (sb-ext:posix-environ))))
+  ;; make sure that a stream input argument is basically reasonable.
+  (let ((string (let ((i (make-string-input-stream "abcdef")))
+                  (with-output-to-string (stream)
+                    (sb-ext:run-program "/bin/cat" ()
+                                        :input i :output stream)))))
+    (assert (= (length string) 6))
+    (assert (string= string "abcdef")))
   ;; success convention for this Lisp program run as part of a larger script
   (sb-ext:quit :unix-status 52)))
 EOF