Ticket #372: make-check-4.5.0.log

File make-check-4.5.0.log, 43.1 KB (added by Mario Domenech Goulart, 14 years ago)

make check log for 4.5.0

Line 
1make -f ./Makefile.linux CONFIG= check
2make[1]: Entering directory `/home/mario/src/chicken-4.5.0'
3cd tests; sh runtests.sh
4copying required files to test-repository ...
5  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/setup-api.so test-repository
6  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/setup-api.import.so test-repository
7  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/setup-download.so test-repository
8  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/setup-download.import.so test-repository
9  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/chicken.import.so test-repository
10  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/lolevel.import.so test-repository
11  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-1.import.so test-repository
12  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-4.import.so test-repository
13  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/data-structures.import.so test-repository
14  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/ports.import.so test-repository
15  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/files.import.so test-repository
16  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/posix.import.so test-repository
17  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-13.import.so test-repository
18  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-69.import.so test-repository
19  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/extras.import.so test-repository
20  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/regex.import.so test-repository
21  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-14.import.so test-repository
22  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/tcp.import.so test-repository
23  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/foreign.import.so test-repository
24  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/scheme.import.so test-repository
25  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/srfi-18.import.so test-repository
26  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/utils.import.so test-repository
27  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/csi.import.so test-repository
28  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/irregex.import.so test-repository
29  cp -r /usr/local/chicken-4.5.0/lib/chicken/5/types.db test-repository
30======================================== compiler tests ...
31../chicken compiler-tests.scm -output-file a.c -include-path ..
32gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
33rm a.c
34gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
35rm a.o
3612
3712
3812
3912
4012
411 2 3
421 2 3 :1:2:3
431 2 3 ======================================== compiler tests (lambda-lift) ...
44../chicken compiler-tests-2.scm -output-file a.c -include-path .. -lambda-lift
45gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
46rm a.c
47gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
48rm a.o
49======================================== compiler tests (unboxing) ...
50../chicken compiler-tests-3.scm -output-file a.c -include-path .. -unsafe -unboxing
51gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
52rm a.c
53gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
54rm a.o
55======================================== compiler inlining tests  ...
56../chicken inlining-tests.scm -output-file a.c -include-path .. -optimize-level 3
57gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
58rm a.c
59gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
60rm a.o
61======================================== scrutiny tests ...
62../chicken scrutiny-tests.scm -output-file a.c -include-path .. -scrutinize -analyze-only -ignore-repository -types ../types.db
63======================================== runtime tests ...
64many arguments supported.
65../chicken test-gc-hooks.scm -output-file a.c -include-path ..
66gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
67rm a.c
68gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
69rm a.o
70major gc ...
71>>>>> GC pre hook - mode=0, count=0
72[GC] level  1   gcs(minor)  2   gcs(major)  1
73[GC] stack      0xbfcd5318      0xbfcd87bc      0xbfcf5318
74[GC]  from      0x4806f008      0x48083288      0x480ac098      0x14280
75[GC]    to      0x48031008      0x48031008      0x4806e098
76[GC] 0 locatives (from 32)
77<<<<< GC post hook - mode=1, count=0, ms=4
78minor gc ...
79>>>>> GC pre hook - mode=0, count=0
80<<<<< GC post hook - mode=0, count=0, ms=-1076933556
81alloc ...
82>>>>> GC pre hook - mode=0, count=0
83[GC] level  1   gcs(minor)  1   gcs(major)  2
84[GC] stack      0xbfcd5318      0xbfcf4808      0xbfcf5318
85[GC]  from      0x48031008      0x48045288      0x4806e098      0x14280
86[GC]    to      0x4806f008      0x4806f008      0x480ac098
87[GC] 0 locatives (from 32)
88<<<<< GC post hook - mode=1, count=0, ms=4
89>>>>> GC pre hook - mode=2, count=0
90[GC] (old) fromspace:   start=48031008,         limit=4806e098
91[GC] (old) tospace:     start=4806f008,         limit=480ac098
92[GC] resized heap to 11000004 bytes
93[GC] (new) fromspace:   start=480ad008,         limit=485ebc6a
94[GC] (new) tospace:     start=485ec008,         limit=48b2ac6a
95<<<<< GC post hook - mode=2, count=0, ms=0
96>>>>> GC pre hook - mode=2, count=0
97[GC] (old) fromspace:   start=480ad008,         limit=485ebc6a
98[GC] (old) tospace:     start=485ec008,         limit=48b2ac6a
99[GC] resized heap to 32000012 bytes
100[GC] (new) fromspace:   start=48b2b008,         limit=49a6d40e
101[GC] (new) tospace:     start=49a6e008,         limit=4a9b040e
102<<<<< GC post hook - mode=2, count=0, ms=0
103resize ...
104>>>>> GC pre hook - mode=2, count=0
105[GC] (old) fromspace:   start=48b2b008,         limit=49a6d40e
106[GC] (old) tospace:     start=49a6e008,         limit=4a9b040e
107[GC] resized heap to 64000024 bytes
108[GC] (new) fromspace:   start=4a9b1008,         limit=4c835814
109[GC] (new) tospace:     start=48031008,         limit=49eb5814
110<<<<< GC post hook - mode=2, count=0, ms=0
111major gc ...
112>>>>> GC pre hook - mode=0, count=0
113>>>>> GC pre hook - mode=2, count=1
114[GC] (old) fromspace:   start=4a9b1008,         limit=4c835814
115[GC] (old) tospace:     start=48031008,         limit=49eb5814
116[GC] resized heap to 32000012 bytes
117[GC] (new) fromspace:   start=4c836008,         limit=4d77840e
118[GC] (new) tospace:     start=48031008,         limit=48f7340e
119<<<<< GC post hook - mode=2, count=1, ms=0
120[GC] level  1   gcs(minor)  0   gcs(major)  3
121[GC] stack      0xbfcd5318      0xbfcf3dec      0xbfcf5318
122[GC]  from      0x4c836008      0x4c84a288      0x4d77840e      0x14280
123[GC]    to      0x48031008      0x48031008      0x48f7340e
124[GC] 0 locatives (from 32)
125<<<<< GC post hook - mode=1, count=0, ms=8
126minor gc ...
127>>>>> GC pre hook - mode=0, count=0
128<<<<< GC post hook - mode=0, count=0, ms=-1076933556
129>>>>> GC pre hook - mode=0, count=0
130>>>>> GC pre hook - mode=2, count=1
131[GC] (old) fromspace:   start=4c836008,         limit=4d77840e
132[GC] (old) tospace:     start=48031008,         limit=48f7340e
133[GC] resized heap to 16000006 bytes
134[GC] (new) fromspace:   start=48f74008,         limit=4971520b
135[GC] (new) tospace:     start=48031008,         limit=487d220b
136<<<<< GC post hook - mode=2, count=1, ms=0
137[GC] level  1   gcs(minor)  1   gcs(major)  4
138[GC] stack      0xbfcd5318      0xbfcf4ed8      0xbfcf5318
139[GC]  from      0x48f74008      0x48f882b4      0x4971520b      0x142ac
140[GC]    to      0x48031008      0x48031008      0x487d220b
141[GC] 0 locatives (from 32)
142<<<<< GC post hook - mode=1, count=0, ms=12
143======================================== library tests ...
144../chicken records-and-setters-test.scm -output-file a.c -include-path ..
145gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
146rm a.c
147gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
148rm a.o
149======================================== syntax tests ...
1503
151100
152(M1: (m1 n))
1533628800
15434
15545
156now
157outer
1587
159"baz"
160"no baz"
161"no baz"
162ok
163(3 4)
164(... 1 2 3)
1653
166(99)
1677
168(1 2 3)
16910 9 8 7 6 5 4 3 2 1
17010 9 8 7 6 5 4 3 2 1
1711 2 3 4 5 6 7 8 9 10
1723
173ok
174caught
175(99)
176======================================== syntax tests (compiled) ...
177../chicken syntax-tests.scm -output-file a.c -include-path ..
178
179Warning: redefinition of extended binding `setter'
180
181Warning: local assignment to unused variable `prefixed-self-reference1#a' may be unintended
182
183Warning: local assignment to unused variable `prefixed-self-reference1#b' may be unintended
184
185Warning: local assignment to unused variable `prefixed-self-reference1#c' may be unintended
186
187Warning: local assignment to unused variable `prefixed-self-reference2#a' may be unintended
188
189Warning: local assignment to unused variable `prefixed-self-reference2#b' may be unintended
190
191Warning: local assignment to unused variable `prefixed-self-reference2#c' may be unintended
192(M1: (m1 n))
193gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
194rm a.c
195gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
196rm a.o
1973
198100
1993628800
20034
20145
202now
203outer
2047
205"baz"
206"no baz"
207"no baz"
208ok
209(3 4)
210(... 1 2 3)
2113
212(99)
2137
214(1 2 3)
21510 9 8 7 6 5 4 3 2 1
21610 9 8 7 6 5 4 3 2 1
2171 2 3 4 5 6 7 8 9 10
2183
219ok
220caught
221(99)
222======================================== syntax tests (2, compiled) ...
223../chicken syntax-tests-2.scm -output-file a.c -include-path ..
224gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
225rm a.c
226gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
227rm a.o
228======================================== reexport tests ...
229
230Warning: reference to possibly unbound identifier: values
2317
232"abc-def-ghi"
233../chicken reexport-tests.scm -output-file a.c -include-path ..
234gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
235rm a.c
236gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
237rm a.o
2387
239"abc-def-ghi"
240../chicken reexport-m1.scm -output-file reexport-m1.c -dynamic -feature chicken-compile-shared -include-path .. -emit-all-import-libraries
241gcc reexport-m1.c -o reexport-m1.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
242rm reexport-m1.c
243gcc reexport-m1.o -o reexport-m1.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
244rm reexport-m1.o
245../chicken reexport-m1.import.scm -output-file reexport-m1.import.c -dynamic -feature chicken-compile-shared -include-path ..
246gcc reexport-m1.import.c -o reexport-m1.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
247rm reexport-m1.import.c
248gcc reexport-m1.import.o -o reexport-m1.import.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
249rm reexport-m1.import.o
250(1 2 . 3)
251../chicken reexport-m2.scm -output-file a.c -include-path ..
252gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
253rm a.c
254gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
255rm a.o
256(1 2 . 3)
257======================================== compiler syntax tests ...
258../chicken compiler-syntax-tests.scm -output-file a.c -include-path ..
259gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
260rm a.c
261gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
262rm a.o
2639
2647
265(cs-goo 2)
266zzz
267======================================== import library tests ...
268../chicken import-library-test1.scm -output-file a.c -include-path .. -emit-import-library foo
269gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
270rm a.c
271gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
272rm a.o
273../chicken foo.import.scm -output-file foo.import.c -dynamic -feature chicken-compile-shared -include-path ..
274gcc foo.import.c -o foo.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
275rm foo.import.c
276gcc foo.import.o -o foo.import.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
277rm foo.import.o
278../chicken import-library-test2.scm -output-file a.c -include-path ..
279gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
280rm a.c
281gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
282rm a.o
283======================================== syntax tests (matchable) ...
284(PASS) any
285(PASS) symbol
286(PASS) number
287(PASS) string
288(PASS) literal symbol
289(PASS) null
290(PASS) pair
291(PASS) vector
292(PASS) any doubled
293(PASS) and empty
294(PASS) and single
295(PASS) and double
296(PASS) or empty
297(PASS) or single
298(PASS) or double
299(PASS) not
300(PASS) pred
301(PASS) named pred
302(PASS) duplicate symbols pass
303(PASS) duplicate symbols fail
304(PASS) duplicate symbols samth
305(PASS) ellipses
306(PASS) real ellipses
307(PASS) vector ellipses
308(PASS) pred ellipses
309(PASS) failure continuation
310(PASS) let
311(PASS) let*
312(PASS) getter car
313(PASS) getter cdr
314(PASS) getter vector
315(PASS) setter car
316(PASS) setter cdr
317(PASS) setter vector
318(PASS) single tail
319(PASS) single tail 2
320(PASS) multiple tail
321(PASS) Riastradh quasiquote
322  38 tests completed in 1.807 seconds
323  38 (100.00%) tests passed
324  0 (0.00%) tests failed
325======================================== syntax tests (loopy-loop) ...
326(PASS) stepping
327(PASS) basic in-list
328(PASS) in-list with result
329(PASS) in-list with collecting
330(PASS) uneven length in-list's
331(PASS) in-lists
332(PASS) flatten (recursion test)
333(PASS) in-string
334(PASS) in-string with start
335(PASS) in-string with start and end
336(PASS) in-string with start, end and step
337(PASS) in-string-reverse
338(PASS) in-vector
339(PASS) in-permutations
340(PASS) in-permutations with length
341(PASS) in-combinations
342(PASS) in-hash-table
343  17 tests completed in 3.649 seconds
344  17 (100.00%) tests passed
345  0 (0.00%) tests failed
346======================================== r4rstest ...
347(expect mult-float-print-test to fail)
348======================================== syntax tests (r5rs_pitfalls) ...
349(expect two failures)
350Failure: 1.1, expected '0', got '1'.
351Failure: 1.2, expected '#t', got '#f'.
352Passed: 1.3
353Passed: 2.1
354Passed: 3.1
355Passed: 3.2
356Passed: 3.3
357Passed: 3.4
358Passed: 4.1
359Passed: 4.2
360Passed: 4.3
361Passed: 5.1
362Passed: 5.2
363Passed: 5.3
364Passed: 6.1
365Passed: 7.1
366Passed: 7.2
367Passed: 7.3
368Passed: 7.4
369Passed: 8.1
370Passed: 8.2
371Passed: 8.3
372Map is not call/cc safe, but probably tail recursive and efficient.
373======================================== module tests ...
374(PASS) internal/variable
375(PASS) external/unimported variable (fail)
376(PASS) external/unimported syntax (fail)
377(PASS) external/imported variable
378(PASS) external/imported syntax
379(PASS) modified import
380(PASS) hidden import
381(PASS) prefixed import and reexport
382ok.
383(PASS) indirect imports
384f1
385(PASS) chained indirect imports
386(PASS) literal compare and export
387(PASS) redefinition of indirect import
388(PASS) redefinition of indirect import (II)
389(PASS) value reexport
390(PASS) syntax reexport
391(PASS) primitive indirect value-binding reexport
392(PASS) extended lambda list uses expansion environment
393#<procedure (filter pred666 lis667)>
394(PASS) function defined in module that is the result of an expansion
395(PASS) syntax defined in module that is the result of an expansion
396  19 tests completed in 0.543 seconds
397  19 (100.00%) tests passed
398  0 (0.00%) tests failed
399()
400f1
401======================================== module tests (compiled) ...
402../chicken module-tests-compiled.scm -output-file a.c -include-path ..
403gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I.. -I"/usr/local/chicken-4.5.0/include"
404rm a.c
405gcc a.o -o a.out -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
406rm a.o
407(PASS) inline in syntax
408(PASS) unmarked primitive exports
409  2 tests completed in 0.001 seconds
410  2 (100.00%) tests passed
411  0 (0.00%) tests failed
412======================================== module tests (chained) ...
413f1
414../chicken test-chained-modules.scm -output-file test-chained-modules.c -dynamic -feature chicken-compile-shared -include-path .. -emit-import-library m3
415gcc test-chained-modules.c -o test-chained-modules.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
416rm test-chained-modules.c
417gcc test-chained-modules.o -o test-chained-modules.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
418rm test-chained-modules.o
419../chicken m3.import.scm -output-file m3.import.c -dynamic -feature chicken-compile-shared -include-path ..
420gcc m3.import.c -o m3.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
421rm m3.import.c
422gcc m3.import.o -o m3.import.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
423rm m3.import.o
424
425CHICKEN
426(c)2008-2010 The Chicken Team
427(c)2000-2007 Felix L. Winkelmann
428Version 4.5.0
429linux-unix-gnu-ppc [ manyargs dload ptables ]
430compiled 2010-09-06 on mandolate (Linux)
431
432; loading test-chained-modules.so ...
433; loading /usr/local/chicken-4.5.0/lib/chicken/5/scheme.import.so ...
434; loading /usr/local/chicken-4.5.0/lib/chicken/5/chicken.import.so ...
435f1
436f1
437f1
438======================================== module tests (ec) ...
439
440(let ((x 0)) (do-ec (set! x (+ x 1))) x)
441  => 1 ; correct
442
443(let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x)
444  => 10 ; correct
445
446(let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x)
447  => 45 ; correct
448
449(list-ec 1)
450  => (1) ; correct
451
452(list-ec (:range i 4) i)
453  => (0 1 2 3) ; correct
454
455(list-ec (:range n 3) (:range k (+ n 1)) (list n k))
456  => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct
457
458(list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k))
459  => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
460
461(list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k))
462  => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct
463
464(list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k))
465  => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
466
467(list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k))
468  => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
469
470(let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x)
471  => 10 ; correct
472
473(list-ec (nested (:range n 3) (:range k n)) k)
474  => (0 0 1) ; correct
475
476(append-ec (quote (a b)))
477  => (a b) ; correct
478
479(append-ec (:range i 0) (quote (a b)))
480  => () ; correct
481
482(append-ec (:range i 1) (quote (a b)))
483  => (a b) ; correct
484
485(append-ec (:range i 2) (quote (a b)))
486  => (a b a b) ; correct
487
488(string-ec #\a)
489  => "a" ; correct
490
491(string-ec (:range i 0) #\a)
492  => "" ; correct
493
494(string-ec (:range i 1) #\a)
495  => "a" ; correct
496
497(string-ec (:range i 2) #\a)
498  => "aa" ; correct
499
500(string-append-ec "ab")
501  => "ab" ; correct
502
503(string-append-ec (:range i 0) "ab")
504  => "" ; correct
505
506(string-append-ec (:range i 1) "ab")
507  => "ab" ; correct
508
509(string-append-ec (:range i 2) "ab")
510  => "abab" ; correct
511
512(vector-ec 1)
513  => #(1) ; correct
514
515(vector-ec (:range i 0) i)
516  => #() ; correct
517
518(vector-ec (:range i 1) i)
519  => #(0) ; correct
520
521(vector-ec (:range i 2) i)
522  => #(0 1) ; correct
523
524(vector-of-length-ec 1 1)
525  => #(1) ; correct
526
527(vector-of-length-ec 0 (:range i 0) i)
528  => #() ; correct
529
530(vector-of-length-ec 1 (:range i 1) i)
531  => #(0) ; correct
532
533(vector-of-length-ec 2 (:range i 2) i)
534  => #(0 1) ; correct
535
536(sum-ec 1)
537  => 1 ; correct
538
539(sum-ec (:range i 0) i)
540  => 0 ; correct
541
542(sum-ec (:range i 1) i)
543  => 0 ; correct
544
545(sum-ec (:range i 2) i)
546  => 1 ; correct
547
548(sum-ec (:range i 3) i)
549  => 3 ; correct
550
551(product-ec 1)
552  => 1 ; correct
553
554(product-ec (:range i 1 0) i)
555  => 1 ; correct
556
557(product-ec (:range i 1 1) i)
558  => 1 ; correct
559
560(product-ec (:range i 1 2) i)
561  => 1 ; correct
562
563(product-ec (:range i 1 3) i)
564  => 2 ; correct
565
566(product-ec (:range i 1 4) i)
567  => 6 ; correct
568
569(min-ec 1)
570  => 1 ; correct
571
572(min-ec (:range i 1) i)
573  => 0 ; correct
574
575(min-ec (:range i 2) i)
576  => 0 ; correct
577
578(max-ec 1)
579  => 1 ; correct
580
581(max-ec (:range i 1) i)
582  => 0 ; correct
583
584(max-ec (:range i 2) i)
585  => 1 ; correct
586
587(first-ec #f 1)
588  => 1 ; correct
589
590(first-ec #f (:range i 0) i)
591  => #f ; correct
592
593(first-ec #f (:range i 1) i)
594  => 0 ; correct
595
596(first-ec #f (:range i 2) i)
597  => 0 ; correct
598
599(let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i)
600  => 0 ; correct
601
602(last-ec #f 1)
603  => 1 ; correct
604
605(last-ec #f (:range i 0) i)
606  => #f ; correct
607
608(last-ec #f (:range i 1) i)
609  => 0 ; correct
610
611(last-ec #f (:range i 2) i)
612  => 1 ; correct
613
614(any?-ec #f)
615  => #f ; correct
616
617(any?-ec #t)
618  => #t ; correct
619
620(any?-ec (:range i 2 2) (even? i))
621  => #f ; correct
622
623(any?-ec (:range i 2 3) (even? i))
624  => #t ; correct
625
626(every?-ec #f)
627  => #f ; correct
628
629(every?-ec #t)
630  => #t ; correct
631
632(every?-ec (:range i 2 2) (even? i))
633  => #t ; correct
634
635(every?-ec (:range i 2 3) (even? i))
636  => #t ; correct
637
638(every?-ec (:range i 2 4) (even? i))
639  => #f ; correct
640
641(let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr))
642  => 285 ; correct
643
644(let ((minus-1 (lambda (x) (- x 1))) (sum-sqr (lambda (x result) (+ result (* x x))))) (fold3-ec (error "wrong") (:range i 10) i minus-1 sum-sqr))
645  => 284 ; correct
646
647(fold3-ec (quote infinity) (:range i 0) i min min)
648  => infinity ; correct
649
650(list-ec (:list x (quote ())) x)
651  => () ; correct
652
653(list-ec (:list x (quote (1))) x)
654  => (1) ; correct
655
656(list-ec (:list x (quote (1 2 3))) x)
657  => (1 2 3) ; correct
658
659(list-ec (:list x (quote (1)) (quote (2))) x)
660  => (1 2) ; correct
661
662(list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x)
663  => (1 2 3) ; correct
664
665(list-ec (:string c "") c)
666  => () ; correct
667
668(list-ec (:string c "1") c)
669  => (#\1) ; correct
670
671(list-ec (:string c "123") c)
672  => (#\1 #\2 #\3) ; correct
673
674(list-ec (:string c "1" "2") c)
675  => (#\1 #\2) ; correct
676
677(list-ec (:string c "1" "2" "3") c)
678  => (#\1 #\2 #\3) ; correct
679
680(list-ec (:vector x (vector)) x)
681  => () ; correct
682
683(list-ec (:vector x (vector 1)) x)
684  => (1) ; correct
685
686(list-ec (:vector x (vector 1 2 3)) x)
687  => (1 2 3) ; correct
688
689(list-ec (:vector x (vector 1) (vector 2)) x)
690  => (1 2) ; correct
691
692(list-ec (:vector x (vector 1) (vector 2) (vector 3)) x)
693  => (1 2 3) ; correct
694
695(list-ec (:range x -2) x)
696  => () ; correct
697
698(list-ec (:range x -1) x)
699  => () ; correct
700
701(list-ec (:range x 0) x)
702  => () ; correct
703
704(list-ec (:range x 1) x)
705  => (0) ; correct
706
707(list-ec (:range x 2) x)
708  => (0 1) ; correct
709
710(list-ec (:range x 0 3) x)
711  => (0 1 2) ; correct
712
713(list-ec (:range x 1 3) x)
714  => (1 2) ; correct
715
716(list-ec (:range x -2 -1) x)
717  => (-2) ; correct
718
719(list-ec (:range x -2 -2) x)
720  => () ; correct
721
722(list-ec (:range x 1 5 2) x)
723  => (1 3) ; correct
724
725(list-ec (:range x 1 6 2) x)
726  => (1 3 5) ; correct
727
728(list-ec (:range x 5 1 -2) x)
729  => (5 3) ; correct
730
731(list-ec (:range x 6 1 -2) x)
732  => (6 4 2) ; correct
733
734(list-ec (:real-range x 0.0 3.0) x)
735  => (0.0 1.0 2.0) ; correct
736
737(list-ec (:real-range x 0 3.0) x)
738  => (0.0 1.0 2.0) ; correct
739
740(list-ec (:real-range x 0 3 1.0) x)
741  => (0.0 1.0 2.0) ; correct
742
743(string-ec (:char-range c #\a #\z) c)
744  => "abcdefghijklmnopqrstuvwxyz" ; correct
745
746(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port read) x))))
747  => (0 1 2 3 4 5 6 7 8 9) ; correct
748
749(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port) x))))
750  => (0 1 2 3 4 5 6 7 8 9) ; correct
751
752(list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i)
753  => (0 1 2 3) ; correct
754
755(list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j)
756  => (10 9 8 7) ; correct
757
758(list-ec (:let x 1) x)
759  => (1) ; correct
760
761(list-ec (:let x 1) (:let y (+ x 1)) y)
762  => (2) ; correct
763
764(list-ec (:let x 1) (:let x (+ x 1)) x)
765  => (2) ; correct
766
767(list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x))
768  => ((1 a) (2 b) (3 c)) ; correct
769
770(list-ec (:while (:range i 1 10) (< i 5)) i)
771  => (1 2 3 4) ; correct
772
773(list-ec (:until (:range i 1 10) (>= i 5)) i)
774  => (1 2 3 4 5) ; correct
775
776(list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i)
777  => (1 2 3 4) ; correct
778
779(list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i)
780  => (1 2 3 4 5) ; correct
781
782(list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x)
783  => (1 2 3 4 5) ; correct
784
785(list-ec (:while (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (< i 5)) (list i j))
786  => ((1 1) (2 2) (3 3) (4 4)) ; correct
787
788(list-ec (:until (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (>= i 5)) (list i j))
789  => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct
790
791(let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n)
792  => 5 ; correct
793
794(let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n)
795  => 5 ; correct
796
797(let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n)
798  => 5 ; correct
799
800(let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n)
801  => 5 ; correct
802
803(list-ec (: c (quote (a b))) c)
804  => (a b) ; correct
805
806(list-ec (: c (quote (a b)) (quote (c d))) c)
807  => (a b c d) ; correct
808
809(list-ec (: c "ab") c)
810  => (#\a #\b) ; correct
811
812(list-ec (: c "ab" "cd") c)
813  => (#\a #\b #\c #\d) ; correct
814
815(list-ec (: c (vector (quote a) (quote b))) c)
816  => (a b) ; correct
817
818(list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c)
819  => (a b c) ; correct
820
821(list-ec (: i 0) i)
822  => () ; correct
823
824(list-ec (: i 1) i)
825  => (0) ; correct
826
827(list-ec (: i 10) i)
828  => (0 1 2 3 4 5 6 7 8 9) ; correct
829
830(list-ec (: i 1 2) i)
831  => (1) ; correct
832
833(list-ec (: i 1 2 3) i)
834  => (1) ; correct
835
836(list-ec (: i 1 9 3) i)
837  => (1 4 7) ; correct
838
839(list-ec (: i 0.0 1.0 0.2) i)
840  => (0.0 0.2 0.4 0.6 0.8) ; correct
841
842(list-ec (: c #\a #\c) c)
843  => (#\a #\b #\c) ; correct
844
845(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port read) x))))
846  => (0 1 2 3 4 5 6 7 8 9) ; correct
847
848(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port) x))))
849  => (0 1 2 3 4 5 6 7 8 9) ; correct
850
851(list-ec (:list c (index i) (quote (a b))) (list c i))
852  => ((a 0) (b 1)) ; correct
853
854(list-ec (:string c (index i) "a") (list c i))
855  => ((#\a 0)) ; correct
856
857(list-ec (:vector c (index i) (vector (quote a))) (list c i))
858  => ((a 0)) ; correct
859
860(list-ec (:range i (index j) 0 -3 -1) (list i j))
861  => ((0 0) (-1 1) (-2 2)) ; correct
862
863(list-ec (:real-range i (index j) 0 1 0.2) (list i j))
864  => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct
865
866(list-ec (:char-range c (index i) #\a #\c) (list c i))
867  => ((#\a 0) (#\b 1) (#\c 2)) ; correct
868
869(list-ec (: x (index i) (quote (a b c d))) (list x i))
870  => ((a 0) (b 1) (c 2) (d 3)) ; correct
871
872(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x (index i) port) (list x i)))))
873  => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct
874
875(list-ec (: i 5) (* i i))
876  => (0 1 4 9 16) ; correct
877
878(list-ec (: n 1 4) (: i n) (list n i))
879  => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct
880
881(list-ec (: x (index i) "abc") (list x i))
882  => ((#\a 0) (#\b 1) (#\c 2)) ; correct
883
884(list-ec (:string c (index i) "a" "b") (cons c i))
885  => ((#\a . 0) (#\b . 1)) ; correct
886
887(list-ec (:range x 5) (:range x x) x)
888  => (0 0 1 0 1 2 0 1 2 3) ; correct
889
890(list-ec (:list x (quote (2 "23" (4)))) (: y x) y)
891  => (0 1 #\2 #\3 4) ; correct
892
893(list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i))
894  => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct
895
896(factorial 0)
897  => 1 ; correct
898
899(factorial 1)
900  => 1 ; correct
901
902(factorial 3)
903  => 6 ; correct
904
905(factorial 5)
906  => 120 ; correct
907
908(eratosthenes 50)
909  => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct
910
911(length (eratosthenes 100000))
912  => 9592 ; correct
913
914(pythagoras 15)
915  => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct
916
917(length (pythagoras 200))
918  => 127 ; correct
919
920(qsort (quote (1 5 4 2 4 5 3 2 1 3)))
921  => (1 1 2 2 3 3 4 4 5 5) ; correct
922
923(pi-BBP 5)
924  => 3.14159265322809 ; correct
925
926(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (read-lines "tmp1"))
927  => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct
928
929
930correct examples : 163
931wrong examples   : 0
932
933../chicken ec.scm -output-file ec.c -dynamic -feature chicken-compile-shared -include-path .. -emit-import-library ec
934gcc ec.c -o ec.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
935rm ec.c
936gcc ec.o -o ec.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
937rm ec.o
938../chicken ec.import.scm -output-file ec.import.c -dynamic -feature chicken-compile-shared -include-path ..
939gcc ec.import.c -o ec.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I"/usr/local/chicken-4.5.0/include"
940rm ec.import.c
941gcc ec.import.o -o ec.import.so -shared -L.. -L"/usr/local/chicken-4.5.0/lib"  -Wl,-R"/usr/local/chicken-4.5.0/lib" -lchicken -lm -ldl
942rm ec.import.o
943
944(let ((x 0)) (do-ec (set! x (+ x 1))) x)
945  => 1 ; correct
946
947(let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x)
948  => 10 ; correct
949
950(let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x)
951  => 45 ; correct
952
953(list-ec 1)
954  => (1) ; correct
955
956(list-ec (:range i 4) i)
957  => (0 1 2 3) ; correct
958
959(list-ec (:range n 3) (:range k (+ n 1)) (list n k))
960  => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct
961
962(list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k))
963  => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
964
965(list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k))
966  => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct
967
968(list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k))
969  => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
970
971(list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k))
972  => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct
973
974(let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x)
975  => 10 ; correct
976
977(list-ec (nested (:range n 3) (:range k n)) k)
978  => (0 0 1) ; correct
979
980(append-ec (quote (a b)))
981  => (a b) ; correct
982
983(append-ec (:range i 0) (quote (a b)))
984  => () ; correct
985
986(append-ec (:range i 1) (quote (a b)))
987  => (a b) ; correct
988
989(append-ec (:range i 2) (quote (a b)))
990  => (a b a b) ; correct
991
992(string-ec #\a)
993  => "a" ; correct
994
995(string-ec (:range i 0) #\a)
996  => "" ; correct
997
998(string-ec (:range i 1) #\a)
999  => "a" ; correct
1000
1001(string-ec (:range i 2) #\a)
1002  => "aa" ; correct
1003
1004(string-append-ec "ab")
1005  => "ab" ; correct
1006
1007(string-append-ec (:range i 0) "ab")
1008  => "" ; correct
1009
1010(string-append-ec (:range i 1) "ab")
1011  => "ab" ; correct
1012
1013(string-append-ec (:range i 2) "ab")
1014  => "abab" ; correct
1015
1016(vector-ec 1)
1017  => #(1) ; correct
1018
1019(vector-ec (:range i 0) i)
1020  => #() ; correct
1021
1022(vector-ec (:range i 1) i)
1023  => #(0) ; correct
1024
1025(vector-ec (:range i 2) i)
1026  => #(0 1) ; correct
1027
1028(vector-of-length-ec 1 1)
1029  => #(1) ; correct
1030
1031(vector-of-length-ec 0 (:range i 0) i)
1032  => #() ; correct
1033
1034(vector-of-length-ec 1 (:range i 1) i)
1035  => #(0) ; correct
1036
1037(vector-of-length-ec 2 (:range i 2) i)
1038  => #(0 1) ; correct
1039
1040(sum-ec 1)
1041  => 1 ; correct
1042
1043(sum-ec (:range i 0) i)
1044  => 0 ; correct
1045
1046(sum-ec (:range i 1) i)
1047  => 0 ; correct
1048
1049(sum-ec (:range i 2) i)
1050  => 1 ; correct
1051
1052(sum-ec (:range i 3) i)
1053  => 3 ; correct
1054
1055(product-ec 1)
1056  => 1 ; correct
1057
1058(product-ec (:range i 1 0) i)
1059  => 1 ; correct
1060
1061(product-ec (:range i 1 1) i)
1062  => 1 ; correct
1063
1064(product-ec (:range i 1 2) i)
1065  => 1 ; correct
1066
1067(product-ec (:range i 1 3) i)
1068  => 2 ; correct
1069
1070(product-ec (:range i 1 4) i)
1071  => 6 ; correct
1072
1073(min-ec 1)
1074  => 1 ; correct
1075
1076(min-ec (:range i 1) i)
1077  => 0 ; correct
1078
1079(min-ec (:range i 2) i)
1080  => 0 ; correct
1081
1082(max-ec 1)
1083  => 1 ; correct
1084
1085(max-ec (:range i 1) i)
1086  => 0 ; correct
1087
1088(max-ec (:range i 2) i)
1089  => 1 ; correct
1090
1091(first-ec #f 1)
1092  => 1 ; correct
1093
1094(first-ec #f (:range i 0) i)
1095  => #f ; correct
1096
1097(first-ec #f (:range i 1) i)
1098  => 0 ; correct
1099
1100(first-ec #f (:range i 2) i)
1101  => 0 ; correct
1102
1103(let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i)
1104  => 0 ; correct
1105
1106(last-ec #f 1)
1107  => 1 ; correct
1108
1109(last-ec #f (:range i 0) i)
1110  => #f ; correct
1111
1112(last-ec #f (:range i 1) i)
1113  => 0 ; correct
1114
1115(last-ec #f (:range i 2) i)
1116  => 1 ; correct
1117
1118(any?-ec #f)
1119  => #f ; correct
1120
1121(any?-ec #t)
1122  => #t ; correct
1123
1124(any?-ec (:range i 2 2) (even? i))
1125  => #f ; correct
1126
1127(any?-ec (:range i 2 3) (even? i))
1128  => #t ; correct
1129
1130(every?-ec #f)
1131  => #f ; correct
1132
1133(every?-ec #t)
1134  => #t ; correct
1135
1136(every?-ec (:range i 2 2) (even? i))
1137  => #t ; correct
1138
1139(every?-ec (:range i 2 3) (even? i))
1140  => #t ; correct
1141
1142(every?-ec (:range i 2 4) (even? i))
1143  => #f ; correct
1144
1145(let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr))
1146  => 285 ; correct
1147
1148(let ((minus-1 (lambda (x) (- x 1))) (sum-sqr (lambda (x result) (+ result (* x x))))) (fold3-ec (error "wrong") (:range i 10) i minus-1 sum-sqr))
1149  => 284 ; correct
1150
1151(fold3-ec (quote infinity) (:range i 0) i min min)
1152  => infinity ; correct
1153
1154(list-ec (:list x (quote ())) x)
1155  => () ; correct
1156
1157(list-ec (:list x (quote (1))) x)
1158  => (1) ; correct
1159
1160(list-ec (:list x (quote (1 2 3))) x)
1161  => (1 2 3) ; correct
1162
1163(list-ec (:list x (quote (1)) (quote (2))) x)
1164  => (1 2) ; correct
1165
1166(list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x)
1167  => (1 2 3) ; correct
1168
1169(list-ec (:string c "") c)
1170  => () ; correct
1171
1172(list-ec (:string c "1") c)
1173  => (#\1) ; correct
1174
1175(list-ec (:string c "123") c)
1176  => (#\1 #\2 #\3) ; correct
1177
1178(list-ec (:string c "1" "2") c)
1179  => (#\1 #\2) ; correct
1180
1181(list-ec (:string c "1" "2" "3") c)
1182  => (#\1 #\2 #\3) ; correct
1183
1184(list-ec (:vector x (vector)) x)
1185  => () ; correct
1186
1187(list-ec (:vector x (vector 1)) x)
1188  => (1) ; correct
1189
1190(list-ec (:vector x (vector 1 2 3)) x)
1191  => (1 2 3) ; correct
1192
1193(list-ec (:vector x (vector 1) (vector 2)) x)
1194  => (1 2) ; correct
1195
1196(list-ec (:vector x (vector 1) (vector 2) (vector 3)) x)
1197  => (1 2 3) ; correct
1198
1199(list-ec (:range x -2) x)
1200  => () ; correct
1201
1202(list-ec (:range x -1) x)
1203  => () ; correct
1204
1205(list-ec (:range x 0) x)
1206  => () ; correct
1207
1208(list-ec (:range x 1) x)
1209  => (0) ; correct
1210
1211(list-ec (:range x 2) x)
1212  => (0 1) ; correct
1213
1214(list-ec (:range x 0 3) x)
1215  => (0 1 2) ; correct
1216
1217(list-ec (:range x 1 3) x)
1218  => (1 2) ; correct
1219
1220(list-ec (:range x -2 -1) x)
1221  => (-2) ; correct
1222
1223(list-ec (:range x -2 -2) x)
1224  => () ; correct
1225
1226(list-ec (:range x 1 5 2) x)
1227  => (1 3) ; correct
1228
1229(list-ec (:range x 1 6 2) x)
1230  => (1 3 5) ; correct
1231
1232(list-ec (:range x 5 1 -2) x)
1233  => (5 3) ; correct
1234
1235(list-ec (:range x 6 1 -2) x)
1236  => (6 4 2) ; correct
1237
1238(list-ec (:real-range x 0.0 3.0) x)
1239  => (0.0 1.0 2.0) ; correct
1240
1241(list-ec (:real-range x 0 3.0) x)
1242  => (0.0 1.0 2.0) ; correct
1243
1244(list-ec (:real-range x 0 3 1.0) x)
1245  => (0.0 1.0 2.0) ; correct
1246
1247(string-ec (:char-range c #\a #\z) c)
1248  => "abcdefghijklmnopqrstuvwxyz" ; correct
1249
1250(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port read) x))))
1251  => (0 1 2 3 4 5 6 7 8 9) ; correct
1252
1253(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port) x))))
1254  => (0 1 2 3 4 5 6 7 8 9) ; correct
1255
1256(list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i)
1257  => (0 1 2 3) ; correct
1258
1259(list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j)
1260  => (10 9 8 7) ; correct
1261
1262(list-ec (:let x 1) x)
1263  => (1) ; correct
1264
1265(list-ec (:let x 1) (:let y (+ x 1)) y)
1266  => (2) ; correct
1267
1268(list-ec (:let x 1) (:let x (+ x 1)) x)
1269  => (2) ; correct
1270
1271(list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x))
1272  => ((1 a) (2 b) (3 c)) ; correct
1273
1274(list-ec (:while (:range i 1 10) (< i 5)) i)
1275  => (1 2 3 4) ; correct
1276
1277(list-ec (:until (:range i 1 10) (>= i 5)) i)
1278  => (1 2 3 4 5) ; correct
1279
1280(list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i)
1281  => (1 2 3 4) ; correct
1282
1283(list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i)
1284  => (1 2 3 4 5) ; correct
1285
1286(list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x)
1287  => (1 2 3 4 5) ; correct
1288
1289(list-ec (:while (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (< i 5)) (list i j))
1290  => ((1 1) (2 2) (3 3) (4 4)) ; correct
1291
1292(list-ec (:until (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (>= i 5)) (list i j))
1293  => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct
1294
1295(let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n)
1296  => 5 ; correct
1297
1298(let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n)
1299  => 5 ; correct
1300
1301(let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n)
1302  => 5 ; correct
1303
1304(let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n)
1305  => 5 ; correct
1306
1307(list-ec (: c (quote (a b))) c)
1308  => (a b) ; correct
1309
1310(list-ec (: c (quote (a b)) (quote (c d))) c)
1311  => (a b c d) ; correct
1312
1313(list-ec (: c "ab") c)
1314  => (#\a #\b) ; correct
1315
1316(list-ec (: c "ab" "cd") c)
1317  => (#\a #\b #\c #\d) ; correct
1318
1319(list-ec (: c (vector (quote a) (quote b))) c)
1320  => (a b) ; correct
1321
1322(list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c)
1323  => (a b c) ; correct
1324
1325(list-ec (: i 0) i)
1326  => () ; correct
1327
1328(list-ec (: i 1) i)
1329  => (0) ; correct
1330
1331(list-ec (: i 10) i)
1332  => (0 1 2 3 4 5 6 7 8 9) ; correct
1333
1334(list-ec (: i 1 2) i)
1335  => (1) ; correct
1336
1337(list-ec (: i 1 2 3) i)
1338  => (1) ; correct
1339
1340(list-ec (: i 1 9 3) i)
1341  => (1 4 7) ; correct
1342
1343(list-ec (: i 0.0 1.0 0.2) i)
1344  => (0.0 0.2 0.4 0.6 0.8) ; correct
1345
1346(list-ec (: c #\a #\c) c)
1347  => (#\a #\b #\c) ; correct
1348
1349(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port read) x))))
1350  => (0 1 2 3 4 5 6 7 8 9) ; correct
1351
1352(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port) x))))
1353  => (0 1 2 3 4 5 6 7 8 9) ; correct
1354
1355(list-ec (:list c (index i) (quote (a b))) (list c i))
1356  => ((a 0) (b 1)) ; correct
1357
1358(list-ec (:string c (index i) "a") (list c i))
1359  => ((#\a 0)) ; correct
1360
1361(list-ec (:vector c (index i) (vector (quote a))) (list c i))
1362  => ((a 0)) ; correct
1363
1364(list-ec (:range i (index j) 0 -3 -1) (list i j))
1365  => ((0 0) (-1 1) (-2 2)) ; correct
1366
1367(list-ec (:real-range i (index j) 0 1 0.2) (list i j))
1368  => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct
1369
1370(list-ec (:char-range c (index i) #\a #\c) (list c i))
1371  => ((#\a 0) (#\b 1) (#\c 2)) ; correct
1372
1373(list-ec (: x (index i) (quote (a b c d))) (list x i))
1374  => ((a 0) (b 1) (c 2) (d 3)) ; correct
1375
1376(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x (index i) port) (list x i)))))
1377  => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct
1378
1379(list-ec (: i 5) (* i i))
1380  => (0 1 4 9 16) ; correct
1381
1382(list-ec (: n 1 4) (: i n) (list n i))
1383  => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct
1384
1385(list-ec (: x (index i) "abc") (list x i))
1386  => ((#\a 0) (#\b 1) (#\c 2)) ; correct
1387
1388(list-ec (:string c (index i) "a" "b") (cons c i))
1389  => ((#\a . 0) (#\b . 1)) ; correct
1390
1391(list-ec (:range x 5) (:range x x) x)
1392  => (0 0 1 0 1 2 0 1 2 3) ; correct
1393
1394(list-ec (:list x (quote (2 "23" (4)))) (: y x) y)
1395  => (0 1 #\2 #\3 4) ; correct
1396
1397(list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i))
1398  => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct
1399
1400(factorial 0)
1401  => 1 ; correct
1402
1403(factorial 1)
1404  => 1 ; correct
1405
1406(factorial 3)
1407  => 6 ; correct
1408
1409(factorial 5)
1410  => 120 ; correct
1411
1412(eratosthenes 50)
1413  => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct
1414
1415(length (eratosthenes 100000))
1416  => 9592 ; correct
1417
1418(pythagoras 15)
1419  => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct
1420
1421(length (pythagoras 200))
1422  => 127 ; correct
1423
1424(qsort (quote (1 5 4 2 4 5 3 2 1 3)))
1425  => (1 1 2 2 3 3 4 4 5 5) ; correct
1426
1427(pi-BBP 5)
1428  => 3.14159265322809 ; correct
1429
1430(begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (read-lines "tmp1"))
1431  => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct
1432
1433
1434correct examples : 163
1435wrong examples   : 0
1436
1437======================================== hash-table tests ...
1438SRFI 69 procedures
1439HT - No Parameters
1440HT - Test Parameter
1441HT - Number Test Parameter
1442HT - All Optional Parameters
1443HT - All Parameters
1444HT - Insert with setter
1445HT - Insert with update!
1446HT - A-List
1447HT - set! overwrites
1448HT - Delete
1449HT - Remove
1450HT - Make from A-List
1451HT - Merge!
1452HT - Merge
1453HT - Map
1454HT - Fold
1455HT - Stress Insert 100000 Fixnum Key Items
1456   3.792 seconds elapsed
1457   0.972 seconds in (major) GC
1458  258687 mutations
1459    1230 minor GCs
1460      11 major GCs
1461HT - Stress Retrieve 100000 Fixnum Key Items
1462    1.14 seconds elapsed
1463       0 seconds in (major) GC
1464      16 mutations
1465    3532 minor GCs
1466       0 major GCs
1467======================================== lolevel tests ...
1468
1469Error: assertion failed: (= -1 (pointer-s8-ref some-chunk))
1470
1471        Call history:
1472
1473        <syntax>                (##sys#error (##core#immutable (quote "assertion failed")) (##core#quote (= -1 (pointer-s8-ref some-......
1474        <syntax>                (##core#immutable (quote "assertion failed"))
1475        <syntax>                (quote "assertion failed")
1476        <syntax>                (##core#quote "assertion failed")
1477        <syntax>                (##core#quote (= -1 (pointer-s8-ref some-chunk)))
1478        <eval>          (= -1 (pointer-s8-ref some-chunk))
1479        <eval>          (pointer-s8-ref some-chunk)
1480        <eval>          (##sys#error (##core#immutable (quote "assertion failed")) (##core#quote (= -1 (pointer-s8-ref some-......      <--
1481make[1]: *** [check] Error 70
1482make[1]: Leaving directory `/home/mario/src/chicken-4.5.0'
1483make: *** [check] Error 2