From: Richard M Kreuter <kreuter@us...> - 2008-01-31 19:29:40
Update of /cvsroot/sbcl/sbcl/tests
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25956/tests
18.104.22.168: Fix regression in RUN-PROGRAM when :INPUT et al. are pathnames.
* GET-DESCRIPTOR-FOR is defined with &rest, &key, and
&allow-other-keys, and one pathway passes the &rest list to OPEN. A
recent addition of a keyword argument to GET-DESCRIPTOR-FOR that
OPEN didn't recognize created a problem.
* Add test for the correct behavior.
RCS file: /cvsroot/sbcl/sbcl/tests/run-program.impure.lisp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- run-program.impure.lisp 3 Dec 2006 15:24:14 -0000 1.5
+++ run-program.impure.lisp 31 Jan 2008 19:29:25 -0000 1.6
@@ -106,3 +106,17 @@
(with-open-file (f *tmpfile*)
(assert (equal "baz" (read-line f)))))
+;; Around 1.0.12 there was a regression when :INPUT or :OUTPUT was a
+;; pathname designator. Since these use the same code, it should
+;; suffice to test just :INPUT.
+ (progn (with-open-file (f "run-program-test.tmp" :direction :output)
+ (setf file (truename f))
+ (write-line "Foo" f))
+ (assert (run-program "cat" ()
+ :input file :output t
+ :search t :wait t)))
+ (when file
+ (delete-file file))))