Changeset 12065 for trunk/tests


Ignore:
Timestamp:
May 15, 2009, 2:04:07 AM (10 years ago)
Author:
gz
Message:

Test for bug #474

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/ansi-tests/ccl.lsp

    r12053 r12065  
    995995  nil)
    996996
     997(deftest ccl.55959.bug#474
     998    (block test
     999      (handler-bind ((program-error (lambda (c)
     1000                                      (declare (ignore c))
     1001                                      (return-from test
     1002                                        (handler-case (progn
     1003                                                        (with-output-to-string (s)
     1004                                                          (ccl:print-call-history :stream s))
     1005                                                        :success)
     1006                                          (error (c) c))))))
     1007        (labels ((inner (x &key a)
     1008                   ;; try to make sure this will use at least one saved register
     1009                   (loop (concatenate x a) (concatenate x a) (concatenate x a)))
     1010                 (outer (x)
     1011                   ;; try to make sure this will use a saved register for X so backtrace will try to find it.
     1012                   (setq x (list (list x) :bogus-key (list (list x) (list x))))
     1013                   ;; call inner with bad keyword arg, to cause error before it saves its saved regs
     1014                   (apply #'inner x)
     1015                   x))
     1016          (declare (notinline inner outer))
     1017          (outer 3))))
     1018  :success)
    9971019
    9981020;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note: See TracChangeset for help on using the changeset viewer.