X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fbit-vector.impure-cload.lisp;h=65f075adb361c4291fedcd41d3554449dbc7ddfd;hb=31f68584d0732dc0d17f379773e5f87f1e5a78ad;hp=8eab49a2e2d081d81a858f37142d259f107612c3;hpb=d58755f983a38d647afa4db4df1f9e8b5cc13b8f;p=sbcl.git diff --git a/tests/bit-vector.impure-cload.lisp b/tests/bit-vector.impure-cload.lisp index 8eab49a..65f075a 100644 --- a/tests/bit-vector.impure-cload.lisp +++ b/tests/bit-vector.impure-cload.lisp @@ -78,17 +78,32 @@ (test-small-bit-vectors) -(eval-when (:compile-toplevel :load-toplevel :execute) - (defun dynamic-space-size () - #+gencgc - (- sb-vm:dynamic-space-end sb-vm:dynamic-space-start) - #-gencgc - (- sb-vm:dynamic-0-space-end sb-vm:dynamic-0-space-start))) - ;; except on machines where the arrays won't fit into the dynamic space. -#+#.(cl:if (cl:> (cl-user::dynamic-space-size) +#+#.(cl:if (cl:> (sb-ext:dynamic-space-size) (cl:truncate (cl:1- cl:array-dimension-limit) sb-vm:n-word-bits)) '(and) '(or)) (test-big-bit-vectors) + +(with-test (:name :find-non-bit-from-bit-vector) + (assert (not (find #\a #*0101))) + (assert (not (position #\a #*0101))) + (let ((f1 (compile nil + `(lambda (b) + (find b #*0101)))) + (f2 (compile nil + `(lambda (b) + (position b #*0101))))) + (assert (not (funcall f1 t))) + (assert (not (funcall f2 t)))) + (let ((f1 (compile nil + `(lambda (b) + (declare (bit-vector b)) + (find t b)))) + (f2 (compile nil + `(lambda (b) + (declare (bit-vector b)) + (position t b))))) + (assert (not (funcall f1 #*010101))) + (assert (not (funcall f2 #*101010)))))