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