turn off *PRINT-PRETTY* when reporting test results, want line per result
[sbcl.git] / tests / run-program.impure.lisp
index 8eae0d0..8a4b3a3 100644 (file)
           (setq had-error-p t)))
       (assert (not had-error-p)))))
 
+(with-test (:name (:run-program :no-such-thing))
+  (assert (search "Couldn't execute"
+                  (handler-case
+                      (progn (run-program "no-such-program-we-hope" '()) nil)
+                    (error (e)
+                      (princ-to-string e))))))
+
+(with-test (:name (:run-program :not-executable))
+  (assert (search "Couldn't execute"
+                  (handler-case
+                      (progn (run-program "run-program.impure.lisp" '()) nil)
+                    (error (e)
+                      (princ-to-string e))))))
+
+(with-test (:name (:run-program :if-input-does-not-exist))
+  (let ((file (pathname (sb-posix:mktemp "rpXXXXXX"))))
+    (assert (null (sb-ext:run-program "/bin/cat" '() :input file)))
+    (assert (null (sb-ext:run-program "/bin/cat" '() :output #.(or *compile-file-truename*
+                                                                   *load-truename*)
+                                      :if-output-exists nil)))))