source: trunk/tests/ansi-tests/values.lsp @ 9045

Last change on this file since 9045 was 9045, checked in by gz, 12 years ago

Assorted cleanup:

In infrastructure:

  • add *test-verbose* and :verbose argument to do-test and do-tests. Avoid random output if false, only show failures
  • muffle-wawrnings and/or bind *suppress-compiler-warnings* in some tests that unavoidably generate them (mainly with duplicate typecase/case clauses)
  • Add record-source-file for tests so meta-. can find them
  • If *catch-errors* (or the :catch-errors arg) is :break, enter a breakloop when catch an error
  • Make test fns created by *compile-tests* have names, so can find them in backtraces
  • fix misc compiler warnings
  • Fixed cases of duplicate test numbers
  • Disable note :make-condition-with-compound-name for openmcl.

In tests themselves:

I commented out the following tests with #+bogus-test, because they just seemed wrong to me:

lambda.47
lambda.50
upgraded-array-element-type.8
upgraded-array-element-type.nil.1
pathname-match-p.5
load.17
load.18
macrolet.47
ctypecase.15

In addition, I commented out the following tests with #+bogus-test because I was too lazy to make a note
for "doesn't signal underflow":

exp.error.8 exp.error.9 exp.error.10 exp.error.11 expt.error.8 expt.error.9 expt.error.10 expt.error.11

Finally, I entered bug reports in trac, and then commented out the tests
below with #+known-bug-NNN, where nnn is the ticket number in trac:

ticket#268: encode-universal-time.3 encode-universal-time.3.1
ticket#269: macrolet.36
ticket#270: values.20 values.21
ticket#271: defclass.error.13 defclass.error.22
ticket#272: phase.10 phase.12 asin.5 asin.6 asin.8
ticket#273: phase.18 phase.19 acos.8
ticket#274: exp.error.4 exp.error.5 exp.error.6 exp.error.7
ticket#275: car.error.2 cdr.error.2
ticket#276: map.error.11
ticket#277: subtypep.cons.43
ticket#278: subtypep-function.3
ticket#279: subtypep-complex.8
ticket#280: open.output.19 open.io.19 file-position.8 file-length.4 file-length.5 read-byte.4 stream-element-type.2 stream-element-type.3
ticket#281: open.65
ticket#288: set-syntax-from-char.sharp.1

File size: 1.5 KB
Line 
1;-*- Mode:     Lisp -*-
2;;;; Author:   Paul Dietz
3;;;; Created:  Sat Oct 19 08:18:50 2002
4;;;; Contains: Tests of VALUES
5
6(in-package :cl-test)
7
8(deftest values.0
9  (values))
10
11(deftest values.1
12  (values 1)
13  1)
14
15(deftest values.2
16  (values 1 2)
17  1 2)
18
19(deftest values.3
20  (values 1 2 3)
21  1 2 3)
22
23(deftest values.4
24  (values 1 2 3 4)
25  1 2 3 4)
26
27(deftest values.10
28  (values 1 2 3 4 5 6 7 8 9 10)
29  1 2 3 4 5 6 7 8 9 10)
30
31(deftest values.15
32  (values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
33  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
34
35(deftest values.19
36  (values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
37  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
38
39#+known-bug-270
40(deftest values.20
41  (let ((a t) (b t) (c t) (d t) (e t) (f t))
42    (setf (values a (values b c) (values d) (values e f)) (values 0 1 2 3 4 5 6))
43    (list a b c d e f))
44  (0 1 nil 2 3 nil))
45
46#+known-bug-270
47(deftest values.21
48  (let (a b c d e f)
49    (setf (values a (values b c) (values d) (values e f)) (values 0 1 2 3 4 5 6)))
50  0 1 2 3)
51
52(deftest values.A
53  (values (values 1 2) (values 3 4 5) (values) (values 10))
54  1 3 nil 10)
55
56(deftest values.B
57  (funcall #'values 1 2 3 4)
58  1 2 3 4)
59
60(deftest values.C
61  (let ((x (loop for i from 1 to (min 1000
62                                      (1- call-arguments-limit)
63                                      (1- multiple-values-limit))
64                 collect i)))
65    (equalt x
66            (multiple-value-list (apply #'values x))))
67  t)
68
69(deftest values.order.1
70  (let ((i 0) a b c)
71    (values (multiple-value-list
72             (values (setf a (incf i)) (setf b (incf i)) (setf c (incf i))))
73            i a b c))
74  (1 2 3) 3 1 2 3)
75 
Note: See TracBrowser for help on using the repository browser.