X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdebug.impure.lisp;h=7a2d9135a16ca4230479d7f3590cbcfaf9fe3478;hb=c0578d9893429c9c0da80ea5920360e4621fddab;hp=8b27b70042d8e3728105782a37df4ff1a5911b4e;hpb=87cd7d9848d9beddbf74e9d56a0c0aea6e189ead;p=sbcl.git diff --git a/tests/debug.impure.lisp b/tests/debug.impure.lisp index 8b27b70..7a2d913 100644 --- a/tests/debug.impure.lisp +++ b/tests/debug.impure.lisp @@ -96,11 +96,11 @@ (backtrace (member (caar frame-specs) full-backtrace :key #'car :test #'equal))) - + (setf result condition) (unless backtrace - (format t "~&//~S not in backtrace:~% ~S~%" + (format t "~&//~S not in backtrace:~% ~S~%" (caar frame-specs) full-backtrace) (setf result nil)) @@ -207,8 +207,13 @@ (with-test (:name (:throw :no-such-tag) :fails-on '(or + (and :x86 :openbsd) (and :x86 :sunos) + (and :x86 :darwin) + (and :x86 :linux) (and :x86-64 :darwin) + (and :x86-64 :linux) + (and :x86-64 :openbsd) (and :sparc :linux) :alpha :mips)) @@ -256,6 +261,16 @@ `(let ((sb-debug:*show-entry-point-details* ,bool)) ,@body)) +(defun bug-354 (x) + (error "XEPs in backtraces: ~S" x)) + +(with-test (:name :bug-354) + (with-details t + (assert (not (verify-backtrace (lambda () (bug-354 354)) + '((bug-354 &rest) + ((sb-c::tl-xep bug-354) &rest)))))) + (assert (verify-backtrace (lambda () (bug-354 354)) '((bug-354 354))))) + ;;; FIXME: This test really should be broken into smaller pieces (with-test (:name (:backtrace :misc) :fails-on '(or (and :x86 (or :sunos)) (and :x86-64 :darwin))) @@ -400,6 +415,11 @@ (assert (search "returned 1" out)) (assert (search "returned 120" out)))) +(with-test (:name :bug-414) + (handler-bind ((warning #'error)) + (load (compile-file "bug-414.lisp")) + (disassemble 'bug-414))) + ;;;; test infinite error protection (defmacro nest-errors (n-levels error-form)