X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdebug.impure.lisp;h=c3c5a3b66667dee956da10d113b0eae45d3dd6d8;hb=d6f9676ae94419cb5544c45821a8d31adbc1fbe8;hp=a4c6114d3418b95959922a3b207c3d7a3113f1ed;hpb=9b16f0936e39cc6f560957e94ef2cf0f69b1e5fc;p=sbcl.git diff --git a/tests/debug.impure.lisp b/tests/debug.impure.lisp index a4c6114..c3c5a3b 100644 --- a/tests/debug.impure.lisp +++ b/tests/debug.impure.lisp @@ -106,7 +106,6 @@ (caar frame-specs) full-backtrace) (setf result nil)) - ;; check that we have all the frames we wanted (mapcar (lambda (spec frame) @@ -174,7 +173,13 @@ (list '(flet test) #'not-optimized)))))) (with-test (:name :backtrace-interrupted-condition-wait - :skipped-on '(not :sb-thread)) + :skipped-on '(not :sb-thread) + ;; For some unfathomable reason the backtrace becomes + ;; stunted on Darwin, ending at _sigtramp, when we add + ;; :TIMEOUT NIL to the frame we expect. If we leave it out, + ;; the backtrace is fine -- but the test fails. I can only + ;; boggle right now. + :fails-on :darwin) (let ((m (sb-thread:make-mutex)) (q (sb-thread:make-waitqueue))) (assert (verify-backtrace @@ -184,7 +189,7 @@ (error "foo")))) (with-timeout 0.1 (sb-thread:condition-wait q m))))) - `((sb-thread:condition-wait ,q ,m)))))) + `((sb-thread:condition-wait ,q ,m :timeout nil)))))) ;;; Division by zero was a common error on PPC. It depended on the ;;; return function either being before INTEGER-/-INTEGER in memory, @@ -480,8 +485,12 @@ (load (compile-file "bug-414.lisp")) (disassemble 'bug-414))) -(with-test (:name :bug-310175) - (let ((dx-arg (cons t t))) +(with-test (:name :bug-310175 :fails-on '(not :stack-allocatable-lists)) + ;; KLUDGE: Not all DX-enabled platforms DX CONS, and the compiler + ;; transforms two-arg-LIST* (and one-arg-LIST) to CONS. Therefore, + ;; use two-arg-LIST, which should get through to VOP LIST, and thus + ;; stack-allocate on a predictable set of machines. + (let ((dx-arg (list t t))) (declare (dynamic-extent dx-arg)) (flet ((dx-arg-backtrace (x) (declare (optimize (debug 2)))