From 1d84bb977c740e0cf7087e091fddcd8c4b27c64b Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Sun, 8 Jan 2006 20:58:07 +0000 Subject: [PATCH] Fixed open stream problem in read-sequence tests --- ansi-tests/read-sequence.lsp | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/ansi-tests/read-sequence.lsp b/ansi-tests/read-sequence.lsp index 8b91139b..0250aac8 100644 --- a/ansi-tests/read-sequence.lsp +++ b/ansi-tests/read-sequence.lsp @@ -188,18 +188,25 @@ (defmacro def-read-sequence-bv-test (name init args &rest expected) `(deftest ,name ;; Create output file - (let ((os (open "temp.dat" :direction :output - :element-type '(unsigned-byte 8) - :if-exists :supersede))) - (loop for i in '(0 1 1 0 0 1 1 0 1 0 1 1 1 0) - do (write-byte i os)) - (close os) - (let ((is (open "temp.dat" :direction :input - :element-type '(unsigned-byte 8))) - (bv (copy-seq ,init))) - (values - (read-sequence bv is ,@args) - bv))) + (progn + (let (os) + (unwind-protect + (progn + (setq os (open "temp.dat" :direction :output + :element-type '(unsigned-byte 8) + :if-exists :supersede)) + (loop for i in '(0 1 1 0 0 1 1 0 1 0 1 1 1 0) + do (write-byte i os))) + (when os (close os)))) + (let (is (bv (copy-seq ,init))) + (unwind-protect + (progn + (setq is (open "temp.dat" :direction :input + :element-type '(unsigned-byte 8))) + (values + (read-sequence bv is ,@args) + bv)) + (when is (close is))))) ,@expected)) (def-read-sequence-bv-test read-sequence.bv.1 #*00000000000000 () -- GitLab