X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fstream.impure.lisp;h=2db66068f255faceb730c3c3e4e8533f02bfcf23;hb=102b7c83b326855e16c3bc3ce4fa60c6d7aaba85;hp=f7af263eeac3aace6d48c56cc5ae3951a9e9df2c;hpb=7ea8aa1c9a049cbfb02f96fae84a80ed8f550d70;p=sbcl.git diff --git a/tests/stream.impure.lisp b/tests/stream.impure.lisp index f7af263..2db6606 100644 --- a/tests/stream.impure.lisp +++ b/tests/stream.impure.lisp @@ -91,7 +91,10 @@ (with-standard-io-syntax (prin1 'insert s))) (with-open-file (s p) - (assert (string= (read-line s) "THESE INSERTMBOLS"))) + (let ((line (read-line s)) + (want "THESE INSERTMBOLS")) + (unless (equal line want) + (error "wanted ~S, got ~S" want line)))) (delete-file p)) ;;; :DIRECTION :IO didn't work on non-existent pathnames @@ -299,7 +302,8 @@ (type-error (condition) (assert (eql (type-error-datum condition) (code-char 255))) (assert (subtypep (type-error-expected-type condition) - '(signed-byte 8)))))))) + '(signed-byte 8))))))) + (delete-file pathname)) ;;; Check WRITE-SEQUENCE signals a TYPE-ERROR when the stream can't ;;; write a sequence element. @@ -410,27 +414,32 @@ (type-error (condition) (assert (= (type-error-datum condition) -1)) (assert (subtypep (type-error-expected-type condition) - '(unsigned-byte 8))))))) - -;;; writing looong lines -(defun write-n-chars (n stream) - (format t "~&/writing ~D chars on a single line~%" n) - (finish-output t) - (loop repeat n - do (write-char #\x stream)) - (terpri stream) - n) - -(let ((test "long-lines-write-test.tmp")) - (unwind-protect - (with-open-file (f test - :direction :output - :external-format :ascii - :element-type 'character - :if-does-not-exist :create - :if-exists :supersede) + '(unsigned-byte 8)))))) + + (delete-file pathname)) + +;;; writing looong lines. takes way too long and way too much space +;;; to test on 64 bit platforms +#-#.(cl:if (cl:= sb-vm:n-word-bits 64) '(and) '(or)) +(progn + (defun write-n-chars (n stream) + (format t "~&/writing ~D chars on a single line~%" n) + (finish-output t) + (loop repeat n + do (write-char #\x stream)) + (terpri stream) + n) + + (let ((test "long-lines-write-test.tmp")) + (unwind-protect + (with-open-file (f test + :direction :output + :external-format :ascii + :element-type 'character + :if-does-not-exist :create + :if-exists :supersede) (write-n-chars (+ most-positive-fixnum 7) f)) - (when (probe-file test) - (delete-file test)))) + (when (probe-file test) + (delete-file test))))) ;;; success