Mercurial > hg > xemacs-beta
comparison tests/automated/weak-tests.el @ 4855:189fb67ca31a
Create Assert-eq, Assert-equal, etc.
These are equivalent to (Assert (eq ...)) but display both the actual value
and the expected value of the comparison.
Use them throughout the test suite.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Thu, 14 Jan 2010 02:18:03 -0600 |
parents | 7b628daa39d4 |
children | 0f66906b6e37 |
comparison
equal
deleted
inserted
replaced
4854:95c4ced5c07c | 4855:189fb67ca31a |
---|---|
38 | 38 |
39 (garbage-collect) | 39 (garbage-collect) |
40 | 40 |
41 ;; tests for weak-boxes | 41 ;; tests for weak-boxes |
42 (let ((w (make-weak-box (cons 2 3)))) | 42 (let ((w (make-weak-box (cons 2 3)))) |
43 (Assert (equal (cons 2 3) (weak-box-ref w))) | 43 (Assert-equal (cons 2 3) (weak-box-ref w)) |
44 (garbage-collect) | 44 (garbage-collect) |
45 (Assert (not (weak-box-ref w)))) | 45 (Assert (not (weak-box-ref w)))) |
46 | 46 |
47 (garbage-collect) | 47 (garbage-collect) |
48 | 48 |
51 (finalized-p nil) | 51 (finalized-p nil) |
52 (eph1 (make-ephemeron (cons 1 2) p | 52 (eph1 (make-ephemeron (cons 1 2) p |
53 #'(lambda (value) | 53 #'(lambda (value) |
54 (setq finalized-p t)))) | 54 (setq finalized-p t)))) |
55 (eph2 (make-ephemeron p p))) | 55 (eph2 (make-ephemeron p p))) |
56 (Assert (eq p (ephemeron-ref (make-ephemeron (cons 1 2) p)))) | 56 (Assert-eq p (ephemeron-ref (make-ephemeron (cons 1 2) p))) |
57 (Assert (ephemeron-p (make-ephemeron (cons 1 2) p))) | 57 (Assert (ephemeron-p (make-ephemeron (cons 1 2) p))) |
58 | 58 |
59 (garbage-collect) | 59 (garbage-collect) |
60 (garbage-collect) ; ensure the post-gc hook runs | 60 (garbage-collect) ; ensure the post-gc hook runs |
61 | 61 |
62 (Assert finalized-p) | 62 (Assert finalized-p) |
63 (Assert (not (ephemeron-ref eph1))) | 63 (Assert (not (ephemeron-ref eph1))) |
64 | 64 |
65 (garbage-collect) | 65 (garbage-collect) |
66 | 66 |
67 (Assert (eq p (ephemeron-ref eph2)))) | 67 (Assert-eq p (ephemeron-ref eph2))) |
68 | 68 |
69 (garbage-collect) | 69 (garbage-collect) |
70 | 70 |
71 ;; tests for simple weak-lists | 71 ;; tests for simple weak-lists |
72 (let* ((a (cons 23 42)) | 72 (let* ((a (cons 23 42)) |
79 (set-weak-list-list weaklist1 testlist) | 79 (set-weak-list-list weaklist1 testlist) |
80 (set-weak-list-list weaklist2 (list (cons 1 2) a b)) | 80 (set-weak-list-list weaklist2 (list (cons 1 2) a b)) |
81 (set-weak-list-list weaklist3 (list a (cons 1 2) b)) | 81 (set-weak-list-list weaklist3 (list a (cons 1 2) b)) |
82 (set-weak-list-list weaklist4 (list a b (cons 1 2))) | 82 (set-weak-list-list weaklist4 (list a b (cons 1 2))) |
83 (Assert (weak-list-p weaklist1)) | 83 (Assert (weak-list-p weaklist1)) |
84 (Assert (eq (weak-list-type weaklist1) 'simple)) | 84 (Assert-eq (weak-list-type weaklist1) 'simple) |
85 (Assert (weak-list-p weaklist2)) | 85 (Assert (weak-list-p weaklist2)) |
86 (Assert (eq (weak-list-type weaklist2) 'simple)) | 86 (Assert-eq (weak-list-type weaklist2) 'simple) |
87 (Assert (weak-list-p weaklist3)) | 87 (Assert (weak-list-p weaklist3)) |
88 (Assert (eq (weak-list-type weaklist3) 'simple)) | 88 (Assert-eq (weak-list-type weaklist3) 'simple) |
89 (Assert (weak-list-p weaklist4)) | 89 (Assert (weak-list-p weaklist4)) |
90 (Assert (eq (weak-list-type weaklist4) 'simple)) | 90 (Assert-eq (weak-list-type weaklist4) 'simple) |
91 | 91 |
92 (garbage-collect) | 92 (garbage-collect) |
93 | 93 |
94 (Assert (eq (weak-list-list weaklist1) testlist)) | 94 (Assert-eq (weak-list-list weaklist1) testlist) |
95 (Assert (equal (weak-list-list weaklist2) testlist)) | 95 (Assert-equal (weak-list-list weaklist2) testlist) |
96 (Assert (equal (weak-list-list weaklist3) testlist)) | 96 (Assert-equal (weak-list-list weaklist3) testlist) |
97 (Assert (equal (weak-list-list weaklist4) testlist))) | 97 (Assert-equal (weak-list-list weaklist4) testlist)) |
98 | 98 |
99 (garbage-collect) | 99 (garbage-collect) |
100 | 100 |
101 ;; tests for assoc weak-lists | 101 ;; tests for assoc weak-lists |
102 (let* ((a (cons 23 42)) | 102 (let* ((a (cons 23 42)) |
109 (set-weak-list-list weaklist1 testlist) | 109 (set-weak-list-list weaklist1 testlist) |
110 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) | 110 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) |
111 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) | 111 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) |
112 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) | 112 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) |
113 (Assert (weak-list-p weaklist1)) | 113 (Assert (weak-list-p weaklist1)) |
114 (Assert (eq (weak-list-type weaklist1) 'assoc)) | 114 (Assert-eq (weak-list-type weaklist1) 'assoc) |
115 (Assert (weak-list-p weaklist2)) | 115 (Assert (weak-list-p weaklist2)) |
116 (Assert (eq (weak-list-type weaklist2) 'assoc)) | 116 (Assert-eq (weak-list-type weaklist2) 'assoc) |
117 (Assert (weak-list-p weaklist3)) | 117 (Assert (weak-list-p weaklist3)) |
118 (Assert (eq (weak-list-type weaklist3) 'assoc)) | 118 (Assert-eq (weak-list-type weaklist3) 'assoc) |
119 (Assert (weak-list-p weaklist4)) | 119 (Assert (weak-list-p weaklist4)) |
120 (Assert (eq (weak-list-type weaklist4) 'assoc)) | 120 (Assert-eq (weak-list-type weaklist4) 'assoc) |
121 | 121 |
122 (garbage-collect) | 122 (garbage-collect) |
123 | 123 |
124 (Assert (eq (weak-list-list weaklist1) testlist)) | 124 (Assert-eq (weak-list-list weaklist1) testlist) |
125 (Assert (equal (weak-list-list weaklist2) testlist)) | 125 (Assert-equal (weak-list-list weaklist2) testlist) |
126 (Assert (equal (weak-list-list weaklist3) testlist)) | 126 (Assert-equal (weak-list-list weaklist3) testlist) |
127 (Assert (equal (weak-list-list weaklist4) testlist))) | 127 (Assert-equal (weak-list-list weaklist4) testlist)) |
128 | 128 |
129 (garbage-collect) | 129 (garbage-collect) |
130 | 130 |
131 ;; tests for key-assoc weak-lists | 131 ;; tests for key-assoc weak-lists |
132 (let* ((a (cons 23 42)) | 132 (let* ((a (cons 23 42)) |
139 (set-weak-list-list weaklist1 testlist) | 139 (set-weak-list-list weaklist1 testlist) |
140 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) | 140 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) |
141 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) | 141 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) |
142 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) | 142 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) |
143 (Assert (weak-list-p weaklist1)) | 143 (Assert (weak-list-p weaklist1)) |
144 (Assert (eq (weak-list-type weaklist1) 'key-assoc)) | 144 (Assert-eq (weak-list-type weaklist1) 'key-assoc) |
145 (Assert (weak-list-p weaklist2)) | 145 (Assert (weak-list-p weaklist2)) |
146 (Assert (eq (weak-list-type weaklist2) 'key-assoc)) | 146 (Assert-eq (weak-list-type weaklist2) 'key-assoc) |
147 (Assert (weak-list-p weaklist3)) | 147 (Assert (weak-list-p weaklist3)) |
148 (Assert (eq (weak-list-type weaklist3) 'key-assoc)) | 148 (Assert-eq (weak-list-type weaklist3) 'key-assoc) |
149 (Assert (weak-list-p weaklist4)) | 149 (Assert (weak-list-p weaklist4)) |
150 (Assert (eq (weak-list-type weaklist4) 'key-assoc)) | 150 (Assert-eq (weak-list-type weaklist4) 'key-assoc) |
151 | 151 |
152 (garbage-collect) | 152 (garbage-collect) |
153 | 153 |
154 (Assert (eq (weak-list-list weaklist1) testlist)) | 154 (Assert-eq (weak-list-list weaklist1) testlist) |
155 (Assert (equal (weak-list-list weaklist2) testlist)) | 155 (Assert-equal (weak-list-list weaklist2) testlist) |
156 (Assert (equal (weak-list-list weaklist3) (list b (cons a (cons 1 2)) b))) | 156 (Assert-equal (weak-list-list weaklist3) (list b (cons a (cons 1 2)) b)) |
157 (Assert (equal (weak-list-list weaklist4) testlist))) | 157 (Assert-equal (weak-list-list weaklist4) testlist)) |
158 | 158 |
159 (garbage-collect) | 159 (garbage-collect) |
160 | 160 |
161 ;; tests for value-assoc weak-lists | 161 ;; tests for value-assoc weak-lists |
162 (let* ((a (cons 23 42)) | 162 (let* ((a (cons 23 42)) |
169 (set-weak-list-list weaklist1 testlist) | 169 (set-weak-list-list weaklist1 testlist) |
170 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) | 170 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) |
171 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) | 171 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) |
172 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) | 172 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) |
173 (Assert (weak-list-p weaklist1)) | 173 (Assert (weak-list-p weaklist1)) |
174 (Assert (eq (weak-list-type weaklist1) 'value-assoc)) | 174 (Assert-eq (weak-list-type weaklist1) 'value-assoc) |
175 (Assert (weak-list-p weaklist2)) | 175 (Assert (weak-list-p weaklist2)) |
176 (Assert (eq (weak-list-type weaklist2) 'value-assoc)) | 176 (Assert-eq (weak-list-type weaklist2) 'value-assoc) |
177 (Assert (weak-list-p weaklist3)) | 177 (Assert (weak-list-p weaklist3)) |
178 (Assert (eq (weak-list-type weaklist3) 'value-assoc)) | 178 (Assert-eq (weak-list-type weaklist3) 'value-assoc) |
179 (Assert (weak-list-p weaklist4)) | 179 (Assert (weak-list-p weaklist4)) |
180 (Assert (eq (weak-list-type weaklist4) 'value-assoc)) | 180 (Assert-eq (weak-list-type weaklist4) 'value-assoc) |
181 | 181 |
182 (garbage-collect) | 182 (garbage-collect) |
183 | 183 |
184 (Assert (eq (weak-list-list weaklist1) testlist)) | 184 (Assert-eq (weak-list-list weaklist1) testlist) |
185 (Assert (equal (weak-list-list weaklist2) (list b (cons (cons 1 2) a) b))) | 185 (Assert-equal (weak-list-list weaklist2) (list b (cons (cons 1 2) a) b)) |
186 (Assert (equal (weak-list-list weaklist3) testlist)) | 186 (Assert-equal (weak-list-list weaklist3) testlist) |
187 (Assert (equal (weak-list-list weaklist4) testlist))) | 187 (Assert-equal (weak-list-list weaklist4) testlist)) |
188 | 188 |
189 (garbage-collect) | 189 (garbage-collect) |
190 | 190 |
191 ;; tests for full-assoc weak-lists | 191 ;; tests for full-assoc weak-lists |
192 (let* ((a (cons 23 42)) | 192 (let* ((a (cons 23 42)) |
199 (set-weak-list-list weaklist1 testlist) | 199 (set-weak-list-list weaklist1 testlist) |
200 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) | 200 (set-weak-list-list weaklist2 (list b (cons (cons 1 2) a) b)) |
201 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) | 201 (set-weak-list-list weaklist3 (list b (cons a (cons 1 2)) b)) |
202 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) | 202 (set-weak-list-list weaklist4 (list b (cons (cons 1 2) (cons 3 4)) b)) |
203 (Assert (weak-list-p weaklist1)) | 203 (Assert (weak-list-p weaklist1)) |
204 (Assert (eq (weak-list-type weaklist1) 'full-assoc)) | 204 (Assert-eq (weak-list-type weaklist1) 'full-assoc) |
205 (Assert (weak-list-p weaklist2)) | 205 (Assert (weak-list-p weaklist2)) |
206 (Assert (eq (weak-list-type weaklist2) 'full-assoc)) | 206 (Assert-eq (weak-list-type weaklist2) 'full-assoc) |
207 (Assert (weak-list-p weaklist3)) | 207 (Assert (weak-list-p weaklist3)) |
208 (Assert (eq (weak-list-type weaklist3) 'full-assoc)) | 208 (Assert-eq (weak-list-type weaklist3) 'full-assoc) |
209 (Assert (weak-list-p weaklist4)) | 209 (Assert (weak-list-p weaklist4)) |
210 (Assert (eq (weak-list-type weaklist4) 'full-assoc)) | 210 (Assert-eq (weak-list-type weaklist4) 'full-assoc) |
211 | 211 |
212 (garbage-collect) | 212 (garbage-collect) |
213 | 213 |
214 (Assert (eq (weak-list-list weaklist1) testlist)) | 214 (Assert-eq (weak-list-list weaklist1) testlist) |
215 (Assert (equal (weak-list-list weaklist2) (list b (cons (cons 1 2) a) b))) | 215 (Assert-equal (weak-list-list weaklist2) (list b (cons (cons 1 2) a) b)) |
216 (Assert (equal (weak-list-list weaklist3) (list b (cons a (cons 1 2)) b))) | 216 (Assert-equal (weak-list-list weaklist3) (list b (cons a (cons 1 2)) b)) |
217 (Assert (equal (weak-list-list weaklist4) testlist))) | 217 (Assert-equal (weak-list-list weaklist4) testlist)) |
218 | 218 |
219 (garbage-collect) | 219 (garbage-collect) |
220 | 220 |
221 ;; test the intended functionality of the fixpoint iteration used for marking | 221 ;; test the intended functionality of the fixpoint iteration used for marking |
222 ;; weak data structures like the ephermerons. Basically this tests gc_internals | 222 ;; weak data structures like the ephermerons. Basically this tests gc_internals |