From: Nikodemus S. <de...@us...> - 2007-12-09 18:11:55
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv18292/tests Modified Files: run-program.test.sh Log Message: 1.0.12.21: using default external format for RUN-PROGRAM args and env * Patch by Harald Hanche-Olsen: use STRING-TO-OCTETS to build the vector of string pointers. Also allows non-simple strings. Index: run-program.test.sh =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/run-program.test.sh,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- run-program.test.sh 9 Jan 2006 13:00:18 -0000 1.12 +++ run-program.test.sh 9 Dec 2007 18:11:51 -0000 1.13 @@ -20,7 +20,7 @@ PATH=/some/path/that/does/not/exist:${PATH} export PATH -${SBCL:-sbcl} <<EOF +${SBCL:-sbcl} <<'EOF' ;; test that $PATH is searched (assert (zerop (sb-ext:process-exit-code (sb-ext:run-program "true" () :search t :wait t)))) @@ -38,8 +38,26 @@ (sb-ext:run-program "/usr/bin/env" () :output stream :environment '("FEEFIE=foefum"))))) - (assert (string= string "FEEFIE=foefum + (assert (equal string "FEEFIE=foefum "))) + + ;; Unicode strings + (flet ((try (sb-impl::*default-external-format* x y) + (let* ((process (run-program + "/bin/sh" (list "-c" (format nil "echo ~c, $SB_TEST_FOO." x)) + :environment (list (format nil "SB_TEST_FOO=~c" y)) + :output :stream + :wait t)) + (output (read-line (process-output process))) + (wanted (format nil "~c, ~c." x y))) + (unless (equal output wanted) + (error "wanted ~S, got ~S" wanted output)) + (process-close process)))) + (try :ascii #\s #\b) + (try :latin-1 (code-char 197) (code-char 229)) + #+sb-unicode + (try :utf-8 #\GREEK_CAPITAL_LETTER_OMEGA #\GREEK_SMALL_LETTER_OMEGA)) + ;; The default Unix environment for the subprocess is the same as ;; for the parent process. (I.e., we behave like perl and lots of ;; other programs, but not like CMU CL.) |