X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Finfo.impure.lisp;h=113428a50bf9daf7994961ebd39b9de0bb61ee7c;hb=HEAD;hp=db2eb2a74223b8b67aa2c5b975747db7bbed9016;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/tests/info.impure.lisp b/tests/info.impure.lisp index db2eb2a..113428a 100644 --- a/tests/info.impure.lisp +++ b/tests/info.impure.lisp @@ -37,12 +37,25 @@ ;;; the DEFUN is just LOADed instead of COMPILE-FILEd, and it's ;;; not immediately obvious what's the best way to set up ;;; the COMPILE-FILE test. -#| +#|| (assert (equal (format nil "~A" (sb-int:info :function :type 'foo)) "#")) -|# +||# + +(with-test (:name :bug-458015) + ;; Make sure layouts have sane source-locations + (dolist (env sb-c::*info-environment*) + (sb-c::do-info (env :class class :type type :name info-name :value value) + (when (and (symbolp info-name) + (eql class :type) + (eql type :kind)) + (let* ((classoid (sb-kernel:find-classoid info-name nil)) + (layout (and classoid (sb-kernel:classoid-layout classoid))) + (srcloc (and layout (sb-kernel::layout-source-location layout)))) + (when (and layout) + (assert (or (sb-c::definition-source-location-p srcloc) + (null srcloc))))))))) ;;; success -(quit :unix-status 104)