X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fdebug.impure.lisp;h=27283ae104492eb92171e30663a3f69703b22e9d;hb=485053aa46c262f9c357cf5cf48d8f6c3f6e8223;hp=7be8b14a5f91b404813921a1fba43c2c9419a372;hpb=ef43bf713ac67d3acf4727a5111567e70675df44;p=sbcl.git diff --git a/tests/debug.impure.lisp b/tests/debug.impure.lisp index 7be8b14..27283ae 100644 --- a/tests/debug.impure.lisp +++ b/tests/debug.impure.lisp @@ -165,7 +165,7 @@ ;; the presence of the IR1 stepper instrumentation (and ;; is thus again failing now that the instrumentation is ;; no more). - :fails-on '(or :x86 :x86-64 :alpha :mips)) + :fails-on '(or :alpha :mips :ppc)) (assert (verify-backtrace (lambda () (test #'not-optimized)) (list *undefined-function-frame* @@ -207,8 +207,6 @@ (with-test (:name (:throw :no-such-tag) :fails-on '(or - (and :x86 :sunos) - (and :x86-64 :darwin) (and :sparc :linux) :alpha :mips)) @@ -256,6 +254,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))) @@ -381,7 +389,7 @@ ;;; on that platform. #-(and (or ppc x86 x86-64) darwin) (with-test (:name (trace :encapsulate nil) - :fails-on '(or :ppc :sparc :mips)) + :fails-on '(or (and :ppc (not :linux)) :sparc :mips)) (let ((out (with-output-to-string (*trace-output*) (trace trace-this :encapsulate nil) (assert (eq 'ok (trace-this))) @@ -391,7 +399,7 @@ #-(and (or ppc x86 x86-64) darwin) (with-test (:name (trace-recursive :encapsulate nil) - :fails-on '(or :ppc :sparc :mips)) + :fails-on '(or (and :ppc (not :linux)) :sparc :mips)) (let ((out (with-output-to-string (*trace-output*) (trace trace-fact :encapsulate nil) (assert (= 120 (trace-fact 5))) @@ -400,6 +408,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)