diff --git a/ansi-tests/defclass-errors.lsp b/ansi-tests/defclass-errors.lsp index 39d1f87f78e1daf77c5f1dc0d5fa0c9a589ea270..49a2decd578a07bf71a6459970f362981f4c3b88 100644 --- a/ansi-tests/defclass-errors.lsp +++ b/ansi-tests/defclass-errors.lsp @@ -168,3 +168,24 @@ (,option nil)) program-error))) t) + +(deftest defclass.error.23 + (loop for cl in *built-in-classes* + for name = (class-name cl) + unless (or (not name) + (handler-case + (progn (eval `(defclass ,(gensym) (,name))) nil) + (error (c) c))) + collect (list cl name)) + nil) + +(deftest defclass.error.24 + (loop for cl in *built-in-classes* + for name = (class-name cl) + unless (or (not name) + (handler-case + (progn (eval `(defclass ,name ()))) + (error (c) c))) + collect (list cl name)) + nil) + diff --git a/ansi-tests/make-instance.lsp b/ansi-tests/make-instance.lsp index a7665a2e32bd9ee0136651158b39022b0676ae15..c6d3a125c4c12d18af9d9c6bca2838c805705122 100644 --- a/ansi-tests/make-instance.lsp +++ b/ansi-tests/make-instance.lsp @@ -39,13 +39,9 @@ t) (deftest make-instance.error.6 - (let ((classes (remove-duplicates - (remove-if-not - #'(lambda (cl) (typep cl 'built-in-class)) - (mapcar #'class-of *universe*))))) - (loop for cl in classes - unless (eval `(signals-error (make-instance ',cl) error)) - collect cl)) + (loop for cl in *built-in-classes* + unless (eval `(signals-error (make-instance ',cl) error)) + collect cl) nil) ;; Definitions of methods diff --git a/ansi-tests/slot-value.lsp b/ansi-tests/slot-value.lsp index a844397de1b1c70c3aea50ac003e438623e0de4c..195dcfd89c601121dcad837a98543d980c2786d5 100644 --- a/ansi-tests/slot-value.lsp +++ b/ansi-tests/slot-value.lsp @@ -131,7 +131,7 @@ (deftest slot-value.error.5 (let ((built-in-class (find-class 'built-in-class)) (slot-name (gensym))) - (loop for e in *mini-universe* + (loop for e in *universe* for class = (class-of e) when (and (eq (class-of class) built-in-class) (handler-case (progn (slot-value e slot-name) t) @@ -142,7 +142,7 @@ (deftest slot-value.error.6 (let ((built-in-class (find-class 'built-in-class)) (slot-name (gensym))) - (loop for e in *mini-universe* + (loop for e in *universe* for class = (class-of e) when (and (eq (class-of class) built-in-class) (handler-case (setf (slot-value e slot-name) t) diff --git a/ansi-tests/universe.lsp b/ansi-tests/universe.lsp index 556ddb552ccc42e030ef9b50ca8764b782e21be2..7b676e4dd6c3ce0a288c542d1f2007e6bc5e7349 100644 --- a/ansi-tests/universe.lsp +++ b/ansi-tests/universe.lsp @@ -465,7 +465,8 @@ (macro-function 'cond) #'meaningless-user-function-for-universe #'meaningless-user-generic-function-for-universe - #'(lambda (x) x))) + #'(lambda (x) x) + (compile nil '(lambda (x) x)))) (defparameter *methods* (list @@ -524,3 +525,10 @@ *methods*)) '(;;; Others to fill in gaps 1.2s0 1.3f0 1.5d0 1.8l0 3/5 10000000000000000000000)))) + +(defparameter *classes* + (remove-duplicates (mapcar #'class-of *universe*))) + +(defparameter *built-in-classes* + (remove-if-not #'(lambda (x) (typep x 'built-in-class)) + *classes*))