Loading test/test-run-program.script +10 −9 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ #-(and sbcl os-windows) (let ((ok1 (format nil "; $ echo ok 1~%ok 1"))) (untrace) (DBG "Testing awkward legacy output capture via run-shell-command") (assert-equal (dewindowize Loading Loading @@ -166,29 +167,27 @@ Testing run-program t) (defun common-test/run-program () ;; Can we echo a simple string? (DBG "Can we echo a simple string?") (assert-equal '("abcde") (run-program '("echo" "abcde") :output :lines)) (assert-equal (nl "fghij") (run-program '("echo" "fghij") :output :string)) ;; Are spaces handled properly? (DBG "Are spaces handled properly?") (assert-equal '("Hello World") (run-program '("echo" "Hello World") :output :lines)) (assert-equal (nl "Hello World") (run-program '("echo" "Hello World") :output :string)) (assert-equal (nl "Hello World") (run-program "echo Hello World" :output :string)) ;; Test that run-program fails properly with an empty program string (DBG "Test that run-program fails properly with an empty program string") #+(or clozure (and allegro os-unix) cmu (and lispworks os-unix) sbcl scl) (signals error (run-program '("") :output :lines)) ;; An empty string itself is ok since it is passed to the shell. (DBG "An empty string itself is ok since it is passed to the shell.") (assert-equal "" (run-program "" :output :string)) ;; Test that run-program fails properly with a ;; nil program list (DBG "Test that run-program fails properly with a nil program list") #+(or clozure (and allegro os-unix) cmu sbcl scl) (signals error (run-program nil :output :lines)) ;; Test that run-program fails properly when the ;; executable doesn't exist. (DBG "Test that run-program fails properly when the executable doesn't exist.") (signals error (run-program '("does-not-exist") :output :lines)) (signals error (run-program "does-not-exist" :output :lines)) Loading @@ -199,14 +198,17 @@ Testing run-program (defun unix-only-test/run-program () (DBG "Checking that spaces between arguments are collapsed by shell when and only when unquoted") (assert-equal '("ok 1") (run-program "echo ok 1" :output :lines)) (assert-equal '("ok 1") (run-program '("echo" "ok 1") :output :lines)) (assert-equal "ok 1" (run-program '("echo" "ok 1") :output '(:string :stripped t))) (DBG "Checking behavior on program success or failure") (assert-equal '(nil nil 0) (multiple-value-list (run-program "true"))) (signals subprocess-error (run-program "false")) (assert-equal '(nil nil 1) (multiple-value-list (run-program "false" :ignore-error-status t))) (DBG "Tests with test-file") (let ((tf (native-namestring (test-source "test-file")))) ;; a basic smoke test Loading Loading @@ -254,5 +256,4 @@ Testing run-program (terpri) t) (test/run-program) Loading
test/test-run-program.script +10 −9 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ #-(and sbcl os-windows) (let ((ok1 (format nil "; $ echo ok 1~%ok 1"))) (untrace) (DBG "Testing awkward legacy output capture via run-shell-command") (assert-equal (dewindowize Loading Loading @@ -166,29 +167,27 @@ Testing run-program t) (defun common-test/run-program () ;; Can we echo a simple string? (DBG "Can we echo a simple string?") (assert-equal '("abcde") (run-program '("echo" "abcde") :output :lines)) (assert-equal (nl "fghij") (run-program '("echo" "fghij") :output :string)) ;; Are spaces handled properly? (DBG "Are spaces handled properly?") (assert-equal '("Hello World") (run-program '("echo" "Hello World") :output :lines)) (assert-equal (nl "Hello World") (run-program '("echo" "Hello World") :output :string)) (assert-equal (nl "Hello World") (run-program "echo Hello World" :output :string)) ;; Test that run-program fails properly with an empty program string (DBG "Test that run-program fails properly with an empty program string") #+(or clozure (and allegro os-unix) cmu (and lispworks os-unix) sbcl scl) (signals error (run-program '("") :output :lines)) ;; An empty string itself is ok since it is passed to the shell. (DBG "An empty string itself is ok since it is passed to the shell.") (assert-equal "" (run-program "" :output :string)) ;; Test that run-program fails properly with a ;; nil program list (DBG "Test that run-program fails properly with a nil program list") #+(or clozure (and allegro os-unix) cmu sbcl scl) (signals error (run-program nil :output :lines)) ;; Test that run-program fails properly when the ;; executable doesn't exist. (DBG "Test that run-program fails properly when the executable doesn't exist.") (signals error (run-program '("does-not-exist") :output :lines)) (signals error (run-program "does-not-exist" :output :lines)) Loading @@ -199,14 +198,17 @@ Testing run-program (defun unix-only-test/run-program () (DBG "Checking that spaces between arguments are collapsed by shell when and only when unquoted") (assert-equal '("ok 1") (run-program "echo ok 1" :output :lines)) (assert-equal '("ok 1") (run-program '("echo" "ok 1") :output :lines)) (assert-equal "ok 1" (run-program '("echo" "ok 1") :output '(:string :stripped t))) (DBG "Checking behavior on program success or failure") (assert-equal '(nil nil 0) (multiple-value-list (run-program "true"))) (signals subprocess-error (run-program "false")) (assert-equal '(nil nil 1) (multiple-value-list (run-program "false" :ignore-error-status t))) (DBG "Tests with test-file") (let ((tf (native-namestring (test-source "test-file")))) ;; a basic smoke test Loading Loading @@ -254,5 +256,4 @@ Testing run-program (terpri) t) (test/run-program)