X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fseq.pure.lisp;h=fcba6c902e69c5195f7133e032877f2d610c495b;hb=c553e4be6da2d18f0827f190589c88e837b8b8a6;hp=7eac06886fe8415d28bc963ffff4d4d72242c45d;hpb=42cb633f2a06d5cbe6b0ec86920cb0d662c49843;p=sbcl.git diff --git a/tests/seq.pure.lisp b/tests/seq.pure.lisp index 7eac068..fcba6c9 100644 --- a/tests/seq.pure.lisp +++ b/tests/seq.pure.lisp @@ -187,3 +187,21 @@ (assert (string= c "abcde")) (assert (string= d "beacd")) (assert (string= e "abced"))) + +;;; COPY-SEQ "should be prepared to signal an error if sequence is not +;;; a proper sequence". +(locally (declare (optimize safety)) + (multiple-value-bind (seq err) (ignore-errors (copy-seq '(1 2 3 . 4))) + (assert (not seq)) + (assert (typep err 'type-error)))) + +;;; UBX-BASH-COPY transform had an inconsistent return type +(let ((sb-c::*check-consistency* t)) + (handler-bind ((warning #'error)) + (compile nil + '(lambda (l) + (declare (type fixnum l)) + (let* ((bsize 128) + (b1 (make-array bsize :element-type '(unsigned-byte 8))) + (b2 (make-array l :element-type '(unsigned-byte 8)))) + (replace b1 b2 :start2 0 :end2 l))))))