Changeset 11746 for trunk/tests


Ignore:
Timestamp:
Feb 16, 2009, 6:01:57 PM (11 years ago)
Author:
gz
Message:

Regression tests for bug 409

File:
1 edited

Legend:

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

    r11677 r11746  
    761761         (error () :error))))
    762762  (:error :error))
     763
     764(deftest ccl.bug#409
     765    (let ((errors ()))
     766      (handler-bind ((ccl::compiler-warning
     767                      (lambda (c)
     768                        (push (ccl::compiler-warning-function-name c) errors)
     769                        (muffle-warning c))))
     770        (let ((file (test-source-file "(in-package :cl-test)
     771                                       (defun ccl.bug#409a1 (x) (declare (type 17 x)) x)
     772                                       (defun ccl.bug#409a2 (x) x (the 17 x))
     773                                       (defun ccl.bug#409a3 (x) x (typep x 17))
     774                                       (defun ccl.bug#409a4 (x) x (make-array 3 :element-type 17))
     775
     776                                       (defun ccl.bug#409b1 (x) (declare (type (cons number number list) x)) x)
     777                                       (defun ccl.bug#409b2 (x) x (the (cons number number list) x))
     778                                       (defun ccl.bug#409b3 (x) x (typep x '(cons number number list)))
     779                                       (defun ccl.bug#409b4 (x) x (make-array 3 :element-type '(cons number number list)))
     780
     781                                       (defun ccl.bug#409c1 (x) (declare (type (sequence symbol) x)) x)
     782                                       (defun ccl.bug#409c2 (x) x (the (sequence symbol) x))
     783                                       (defun ccl.bug#409c3 (x) x (typep x '(sequence symbol)))
     784                                       (defun ccl.bug#409c4 (x) x (make-array 3 :element-type '(sequence symbol) :initial-element x))
     785                                      ")))
     786          (test-compile file :hide-warnings t :break-on-program-errors nil)))
     787      errors)
     788  ((ccl.bug#409c4) (ccl.bug#409c3) (ccl.bug#409c2) (ccl.bug#409c1)
     789   (ccl.bug#409b4) (ccl.bug#409b3) (ccl.bug#409b2) (ccl.bug#409b1)
     790   (ccl.bug#409a4) (ccl.bug#409a3) (ccl.bug#409a2) (ccl.bug#409a1)))
     791
     792(deftest ccl.53584
     793    (let ((file (test-source-file "(defclass cl-test::ccl.53584 () ((x :type (sequence integer) :initarg :x)))"))
     794          (warnings ()))
     795      (handler-case
     796          (handler-bind ((ccl::compiler-warning
     797                          (lambda (c) (push :compile-time warnings) (muffle-warning c)))
     798                         (warning
     799                          (lambda (c) (push :load-time warnings) (muffle-warning c))))
     800            (test-compile file :hide-warnings t :load t)
     801            (make-instance 'ccl.53584 :x '(17)))
     802        (error () (push :run-time warnings)  warnings)))
     803  (:run-time :load-time :compile-time))
    763804
    764805(deftest ccl.bug#321
Note: See TracChangeset for help on using the changeset viewer.