X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdebug.impure.lisp;h=308d3d66a3a8a4760cdc94ff9dfe147e55cd59e6;hb=4d0b87793a047baecf2403455ddca1a82f44a41b;hp=3204f72b62849ef825a1e06bdc702a1b797d98d7;hpb=cff4add8f008056edf4c876260c6be8ba804b24c;p=sbcl.git diff --git a/tests/debug.impure.lisp b/tests/debug.impure.lisp index 3204f72..308d3d6 100644 --- a/tests/debug.impure.lisp +++ b/tests/debug.impure.lisp @@ -112,7 +112,7 @@ (and (equal (car spec) (car frame)) (args-equal (cdr spec) (cdr frame)))) - (print (list :mismatch spec frame)) + (print (list :wanted spec :got frame)) (setf result nil))) frame-specs backtrace) @@ -121,11 +121,10 @@ ;; any way. (Depends on running in the main ;; thread.) FIXME: On Windows we get two ;; extra foreign frames below regular frames. - (let ((end (last backtrace #-win32 2 #+win32 4))) - (unless (equal (caar end) - 'sb-impl::toplevel-init) - (print (list :backtrace-stunted (caar end))) - (setf result nil))) + (unless (find '(sb-impl::toplevel-init) backtrace + :test #'equal) + (print (list :backtrace-stunted backtrace)) + (setf result nil)) (return-from outer-handler))))) (funcall test-function))) result))) @@ -265,17 +264,15 @@ (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 '(and :x86 (or :sunos))) - (write-line "//tl-xep") +(with-test (:name (:backtrace :tl-xep)) (with-details t (assert (verify-backtrace #'namestring '(((sb-c::tl-xep namestring) 0 ?))))) (with-details nil (assert (verify-backtrace #'namestring - '((namestring))))) + '((namestring)))))) - ;; &MORE-PROCESSOR +(with-test (:name (:backtrace :more-processor)) (with-details t (assert (verify-backtrace (lambda () (bt.1.1 :key)) '(((sb-c::&more-processor bt.1.1) &rest)))) @@ -289,10 +286,9 @@ (assert (verify-backtrace (lambda () (bt.1.2 :key)) '((bt.1.2 &rest)))) (assert (verify-backtrace (lambda () (bt.1.3 :key)) - '((bt.1.3 &rest))))) + '((bt.1.3 &rest)))))) - ;; XEP - (write-line "//xep") +(with-test (:name (:backtrace :xep)) (with-details t (assert (verify-backtrace #'bt.2.1 '(((sb-c::xep bt.2.1) 0 ?)))) @@ -306,10 +302,9 @@ (assert (verify-backtrace #'bt.2.2 '((bt.2.2 &rest)))) (assert (verify-backtrace #'bt.2.3 - '((bt.2.3 &rest))))) + '((bt.2.3 &rest)))))) - ;; VARARGS-ENTRY - (write-line "//varargs-entry") +(with-test (:name (:backtrace :varargs-entry)) (with-details t (assert (verify-backtrace #'bt.3.1 '(((sb-c::varargs-entry bt.3.1) :key nil)))) @@ -323,10 +318,9 @@ (assert (verify-backtrace #'bt.3.2 '((bt.3.2 :key ?)))) (assert (verify-backtrace #'bt.3.3 - '((bt.3.3 &rest))))) + '((bt.3.3 &rest)))))) - ;; HAIRY-ARG-PROCESSOR - (write-line "//hairy-args-processor") +(with-test (:name (:backtrace :hairy-args-processor)) (with-details t (assert (verify-backtrace #'bt.4.1 '(((sb-c::hairy-arg-processor bt.4.1) ?)))) @@ -340,10 +334,10 @@ (assert (verify-backtrace #'bt.4.2 '((bt.4.2 ?)))) (assert (verify-backtrace #'bt.4.3 - '((bt.4.3 &rest))))) + '((bt.4.3 &rest)))))) + - ;; &OPTIONAL-PROCESSOR - (write-line "//optional-processor") +(with-test (:name (:backtrace :optional-processor)) (with-details t (assert (verify-backtrace #'bt.5.1 '(((sb-c::&optional-processor bt.5.1))))) @@ -374,7 +368,7 @@ (defclass clos-typecheck-test () ((slot :type fixnum))) (setf (slot-value (make-instance 'clos-typecheck-test) 'slot) t)))) - '(((sb-pcl::slot-typecheck clos-typecheck-test slot) t))))) + '(((sb-pcl::slot-typecheck fixnum) t))))) (with-test (:name :clos-emf-named) (assert @@ -434,9 +428,9 @@ ;;; This is not a WITH-TEST :FAILS-ON PPC DARWIN since there are ;;; suspicions that the breakpoint trace might corrupt the whole image ;;; on that platform. -#-(and (or ppc x86 x86-64) (or darwin sunos)) (with-test (:name (trace :encapsulate nil) - :fails-on '(or (and :ppc (not :linux)) :sparc :mips)) + :fails-on '(or (and :ppc (not :linux)) :sparc :mips) + :broken-on '(or :darwin :sunos)) (let ((out (with-output-to-string (*trace-output*) (trace trace-this :encapsulate nil) (assert (eq 'ok (trace-this))) @@ -444,9 +438,9 @@ (assert (search "TRACE-THIS" out)) (assert (search "returned OK" out)))) -#-(and (or ppc x86 x86-64) darwin) (with-test (:name (trace-recursive :encapsulate nil) - :fails-on '(or (and :ppc (not :linux)) :sparc :mips)) + :fails-on '(or (and :ppc (not :linux)) :sparc :mips :sunos) + :broken-on '(or :darwin (and :x86 :sunos))) (let ((out (with-output-to-string (*trace-output*) (trace trace-fact :encapsulate nil) (assert (= 120 (trace-fact 5)))