X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fseq.impure.lisp;h=ffb1ec7d1b5b1830044f401c403f830ef22d6979;hb=0a15b6bbf9d5d3a64b5ac08bb96b6e5ec221d2ae;hp=a5753520e4606a6dbec598581b9a1183da3a4744;hpb=5423b2e0f7e7643001ed3ef2f66681c0114a72a6;p=sbcl.git diff --git a/tests/seq.impure.lisp b/tests/seq.impure.lisp index a575352..ffb1ec7 100644 --- a/tests/seq.impure.lisp +++ b/tests/seq.impure.lisp @@ -13,10 +13,11 @@ ;;;; absolutely no warranty. See the COPYING and CREDITS files for ;;;; more information. +(load "test-util.lisp") (load "assertoid.lisp") (defpackage :seq-test - (:use :cl :assertoid)) + (:use :cl :assertoid :test-util)) (in-package :seq-test) @@ -957,7 +958,8 @@ standard bashed) ;; fill vectors ;; a) the standard slow way - (fill standard c :start offset :end (+ offset n)) + (locally (declare (notinline fill)) + (fill standard c :start offset :end (+ offset n))) ;; b) the blazingly fast way (let ((value (loop for i from 0 by bitsize until (= i sb-vm:n-word-bits) @@ -1099,5 +1101,21 @@ (assert (raises-error? (fill l 0 :start 4))) (assert (raises-error? (fill l 0 :end 4))) (assert (raises-error? (fill l 0 :start 2 :end 1)))) + +;;; Both :TEST and :TEST-NOT provided +(with-test (:name :test-and-test-not-to-adjoin) + (let* ((wc 0) + (fun + (handler-bind (((and warning (not style-warning)) + (lambda (w) (incf wc)))) + (compile nil `(lambda (item test test-not) (adjoin item '(1 2 3 :foo) + :test test + :test-not test-not)))))) + (assert (= 1 wc)) + (assert (eq :error + (handler-case + (funcall fun 1 #'eql (complement #'eql)) + (error () + :error)))))) ;;; success