X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fstep.impure.lisp;h=ef42033bb0bd779c931277857a2d6fc43e4c7ed3;hb=00ca0f6bd2e4e4e4c6214466c83b2f5e7c063c65;hp=afa328198723e9f4d429f554146b554a07653499;hpb=1a3143cca7d6678c094b6bacc485e8531808ea59;p=sbcl.git diff --git a/tests/step.impure.lisp b/tests/step.impure.lisp index afa3281..ef42033 100644 --- a/tests/step.impure.lisp +++ b/tests/step.impure.lisp @@ -14,7 +14,7 @@ (in-package :cl-user) ;; No stepper support on some platforms. -#-(or x86 x86-64 ppc) +#-(or x86 x86-64 ppc sparc mips) (sb-ext:quit :unix-status 104) (defun fib (x) @@ -26,12 +26,14 @@ (defvar *cerror-called* nil) +(define-condition cerror-break (error) ()) + (defun fib-break (x) (declare (optimize debug)) (if (< x 2) (progn (unless *cerror-called* - (cerror "a" "b") + (cerror "a" 'cerror-break) (setf *cerror-called* t)) 1) (+ (fib-break (1- x)) @@ -144,7 +146,7 @@ results) (invoke-restart 'step-into)))))) (setf *cerror-called* nil) - (handler-bind ((error + (handler-bind ((cerror-break (lambda (c) (sb-impl::enable-stepping) (invoke-restart 'continue)))) @@ -223,7 +225,8 @@ (handler-bind ((step-condition #'sb-impl::invoke-stepper)) (test-step-out))) -(with-test (:name :step-start-from-break) +(with-test (:name :step-start-from-break + :fails-on :mips) (handler-bind ((step-condition #'sb-impl::invoke-stepper)) (test-step-start-from-break)))