X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcondition.impure.lisp;h=cdae2866c42c31440cc2afed7088d982aa9a3d0a;hb=5e92e9ed61903658015c2a75c79a32ad41dbd29d;hp=03145a779ae8d4a2bce303bebad7037381e4e4e0;hpb=a329dffbb13bf983ea2d4a3c4ab975d6fd20c681;p=sbcl.git diff --git a/tests/condition.impure.lisp b/tests/condition.impure.lisp index 03145a7..cdae286 100644 --- a/tests/condition.impure.lisp +++ b/tests/condition.impure.lisp @@ -37,5 +37,13 @@ (assert (eql (code-msg code) 2)) (assert (eql (%code-msg code) 1))) +;;; Check that initializing the condition class metaobject doesn't create +;;; any instances. Reported by Marco Baringer on sbcl-devel Mon, 05 Jul 2004. +(defvar *condition-count* 0) +(define-condition counted-condition () ((slot :initform (incf *condition-count*)))) +(defmethod frob-counted-condition ((x counted-condition)) x) +(assert (= 0 *condition-count*)) +(assert (typep (sb-mop:class-prototype (find-class 'counted-condition)) + '(and condition counted-condition))) + ;;; success -(sb-ext:quit :unix-status 104)