X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdefstruct.impure.lisp;h=5e5ed6613674e3620459ce0d3764352b7ce98c81;hb=219cc40793f9c82fb943b29a1846f898f4f9de1e;hp=6fc914d9ca797e2a31f54bdbc63ce89807d9109f;hpb=37fbb0be837f1d17650c7329469819dd31b762e1;p=sbcl.git diff --git a/tests/defstruct.impure.lisp b/tests/defstruct.impure.lisp index 6fc914d..5e5ed66 100644 --- a/tests/defstruct.impure.lisp +++ b/tests/defstruct.impure.lisp @@ -461,11 +461,13 @@ *manyraw*))) (room) (sb-ext:gc)) -(check-manyraws *manyraw*) +(with-test (:name defstruct-raw-slot-gc) + (check-manyraws *manyraw*)) ;;; try a full GC, too (sb-ext:gc :full t) -(check-manyraws *manyraw*) +(with-test (:name (defstruct-raw-slot-gc :full)) + (check-manyraws *manyraw*)) ;;; fasl dumper and loader also have special handling of raw slots, so ;;; dump all of them into a fasl @@ -485,7 +487,8 @@ ;;; re-read the dumped structures and check them (load "tmp-defstruct.manyraw.fasl") -(check-manyraws (dumped-manyraws)) +(with-test (:name (defstruct-raw-slot load)) + (check-manyraws (dumped-manyraws))) ;;;; miscellaneous old bugs @@ -1109,3 +1112,12 @@ redefinition." (assert (eq t (boa-supplied-p.2-bar b2))) (assert (eq nil (boa-supplied-p.2-barp b1))) (assert (eq t (boa-supplied-p.2-barp b2))))) + +(defstruct structure-with-predicate) +(defclass class-to-be-redefined () ()) +(let ((x (make-instance 'class-to-be-redefined))) + (defun function-trampoline (fun) (funcall fun x))) + +(with-test (:name (:struct-predicate :obsolete-instance)) + (defclass class-to-be-redefined () ((a :initarg :a :initform 1))) + (function-trampoline #'structure-with-predicate-p))