cd tests; sh runtests.sh ======================================== version tests ... Checking major and minor version numbers against chicken-version... ok Checking the registered feature chicken-.... ok ======================================== compiler tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'compiler-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. Warning: in toplevel procedure `foo': (compiler-tests.scm:9) in procedure call to `bar', expected 0 arguments but was given 1 argument 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 12 12 12 12 12 bar 1 2 3 1 2 3 :1:2:3 1 2 3 Good, unrepresentable C strings cause errors ======================================== compiler inlining tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'inlining-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -optimize-level 3 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== scrutiny tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'typematch-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -specialize -no-warnings 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -w -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o check fixnum 123 check string abc check symbol (quote abc) check char x check true #t check false #f check number (+ 1 2) check (list fixnum) (quote (1)) check (list symbol) (quote (a)) check (list fixnum) (list 1) check pair (quote (1 . 2)) check procedure + check vector (quote #(1)) check null (quote ()) check input-port (current-input-port) check blob (make-blob 10) check pointer (address->pointer 0) check pointer-vector (make-pointer-vector 1) check locative (make-locative a) check (struct promise) (##sys#make-structure (quote promise)) check (pair fixnum float) (quote (1 . 2.3)) check (vector symbol) (quote #(a)) check (list string) (quote (ok)) specialize fixnum specialize not fixnum specialize string specialize not string specialize symbol specialize not symbol specialize char specialize not char specialize true specialize not true specialize false specialize not false specialize (list fixnum) specialize not (list fixnum) specialize pair specialize not pair specialize procedure specialize not procedure specialize (vector fixnum) specialize not (vector fixnum) specialize null specialize not null specialize undefined specialize not undefined specialize input-port specialize not input-port specialize blob specialize not blob specialize pointer specialize not pointer specialize pointer-vector specialize not pointer-vector specialize locative specialize not locative specialize (struct promise) specialize not (struct promise) specialize (pair fixnum float) specialize not (pair fixnum float) specialize (vector symbol) specialize not (vector symbol) specialize (or (list fixnum) symbol) specialize not (or (list fixnum) symbol) specialize (list fixnum) specialize not (list fixnum) specialize (or null pair) specialize not (or null pair) check predicate true boolean? check predicate false boolean? check predicate pair pair? check predicate null null? check predicate symbol symbol? check predicate number number? check predicate number number? check predicate fixnum exact? check predicate number real? check predicate number complex? check predicate float inexact? check predicate char char? check predicate string string? check predicate vector vector? check predicate procedure procedure? check predicate blob blob? check predicate (struct condition) condition? check predicate fixnum fixnum? check predicate float flonum? check predicate input-port input-port? check predicate pointer-vector pointer-vector? check predicate pointer pointer? null = list (list *) = list (vector *) = vector list != null list != (list *) vector != (vector *) pair != null null != pair pair != list list != pair (procedure (*) *) != (procedure () *) (procedure () *) != (procedure (*) *) (procedure (#!rest) . *) = (procedure (*) . *) (procedure (*) . *) = (procedure (#!rest) . *) (procedure () *) != (procedure () * *) (procedure () * *) != (procedure () *) + = (forall (a) (procedure (#!rest a) a)) (quote (1)) = (list fixnum) (car-alike l) = fixnum (car-alike p) = fixnum (cadr-alike l) = fixnum (cadr-alike p) = fixnum (cddr-alike l) = list (cddr-alike p) = fixnum specialize pair specialize not pair specialize pair specialize not pair specialize pair specialize not pair specialize (not pair) specialize not (not pair) specialize (not pair) specialize not (not pair) specialize (not pair) specialize not (not pair) specialize list specialize not list specialize (not list) specialize not (not list) specialize (pair * pair) specialize not (pair * pair) specialize (pair * list) specialize not (pair * list) specialize (pair * (pair * null)) specialize not (pair * (pair * null)) specialize (pair * (pair * (not pair))) specialize not (pair * (pair * (not pair))) specialize (pair * (pair * (not null))) specialize not (pair * (pair * (not null))) specialize (pair * (pair * fixnum)) specialize not (pair * (pair * fixnum)) (pair * null) = (list *) (list *) = (pair * null) (pair * (list *)) = (list * *) (list * *) = (pair * (list *)) (pair * (list fixnum)) = (list * fixnum) (list * fixnum) = (pair * (list fixnum)) (pair fixnum (list *)) = (list fixnum *) (list fixnum *) = (pair fixnum (list *)) (pair fixnum (pair * null)) = (list fixnum *) (list fixnum *) = (pair fixnum (pair * null)) (pair fixnum (pair fixnum null)) = (list fixnum fixnum) (list fixnum fixnum) = (pair fixnum (pair fixnum null)) (pair char (list fixnum)) = (list char fixnum) (list char fixnum) = (pair char (list fixnum)) (pair fixnum (list char)) = (list fixnum char) (list fixnum char) = (pair fixnum (list char)) (pair fixnum (list fixnum)) = (list fixnum fixnum) (list fixnum fixnum) = (pair fixnum (list fixnum)) (pair * *) != list list != (pair * *) (pair * list) != list list != (pair * list) (pair fixnum *) != (list-of *) (list-of *) != (pair fixnum *) (pair fixnum *) != (list-of fixnum) (list-of fixnum) != (pair fixnum *) (pair fixnum (list-of *)) != (list-of fixnum) (list-of fixnum) != (pair fixnum (list-of *)) (pair fixnum (list-of fixnum)) != (list-of fixnum) (list-of fixnum) != (pair fixnum (list-of fixnum)) (pair char (list-of fixnum)) != (list-of fixnum) (list-of fixnum) != (pair char (list-of fixnum)) (pair fixnum (list-of char)) != (list-of fixnum) (list-of fixnum) != (pair fixnum (list-of char)) (pair fixnum (list-of fixnum)) != (list-of fixnum) (list-of fixnum) != (pair fixnum (list-of fixnum)) x = (struct foo) (vector-ref (quote #(1 2 3.4)) 2) = float (vector-ref (quote #(1 2 3.4)) 0) = fixnum (##sys#vector-ref (quote #(1 2 3.4)) 2) = float (##sys#vector-ref (quote #(1 2 3.4)) 0) = fixnum (vector 1 2.3) = (vector fixnum float) (list 1 2.3) = (list fixnum float) (list-copy (list 1 2.3)) = (list fixnum float) (list-copy (cons 1 2.3)) = (pair fixnum float) (list-copy 1) = fixnum (list-ref (list 1 2.3) 0) = fixnum (list-ref (cons 1 2.3) 0) = fixnum (list-ref (list 1 2.3) 1) = float (list-tail (list 1 2.3) 0) = (list fixnum float) (list-tail (cons 1 2.3) 0) = (pair fixnum float) (list-tail (list 1 2.3) 1) = (list float) (list-tail (cons 1 2.3) 1) = float (list-tail (list 1 2.3) 2) = null (drop (list 1 2.3) 0) = (list fixnum float) (drop (cons 1 2.3) 0) = (pair fixnum float) (drop (list 1 2.3) 1) = (list float) (drop (cons 1 2.3) 1) = float (drop (list 1 2.3) 2) = null (take (list 1 2.3) 0) = null (take (cons 1 2.3) 0) = null (take (list 1 2.3) 1) = (list fixnum) (take (cons 1 2.3) 1) = (list fixnum) (take (list 1 2.3) 2) = (list fixnum float) (make-list 2) = (list * *) (make-list 2 a) = (list string string) (make-vector 2) = (vector * *) (make-vector 2 a) = (vector string string) (reverse (quote ())) = null (reverse (the list (list 1 2))) = list (reverse (list 1 2)) = (list string fixnum) (reverse (cons 1 (cons 2 (quote ())))) = (list fixnum string) (f1 (quote (1))) = fixnum /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'scrutiny-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -analyze-only -verbose /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'specialization-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -analyze-only -verbose -specialize /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'scrutiny-tests-2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -analyze-only -scrutinize -analyze-only -verbose /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'scrutiny-tests-3.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -specialize -block Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(scrutiny-tests-3.scm:9) assertion failed" '(compiler-typecase vec ... ...))) 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'scrutiny-tests-strict.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -strict-types -specialize 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== specialization tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'specialization-test-1.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-type-file foo.types -specialize -debug ox -emit-import-library foo hiding nonexported module bindings: foo#spec hiding nonexported module bindings: foo#spec20 hiding nonexported module bindings: foo#abc hiding nonexported module bindings: foo#abc46 hiding nonexported module bindings: foo#abc51 hiding nonexported module bindings: foo#+58 generating import library `foo.import.scm' for module `foo' ... eliminated procedure checks: 10 eliminated procedure checks: 1 Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if #t 'a "a") specializations: 1 (+) 1 (foo#abc number) 1 (set-cdr! pair *) 1 (foo#spec fixnum) 1 (= fixnum fixnum) 1 (foo#bar fixnum) 2 (zero? fixnum) safe calls: 31 dropped branches: 1 safe globals: (foo#bar foo#foo) removed side-effect free assignment to unused variable: foo#spec removed side-effect free assignment to unused variable: foo#abc removed side-effect free assignment to unused variable: foo#abc51 contracted procedure: foo#+58 contracted procedure: foo#abc46 substituted constant variable: a400 contracted procedure: "(specialization-test-1.scm:51) g3435" contracted procedure: foo#spec20 substituted constant variable: a438 substituted constant variable: a444 substituted constant variable: a442 replaced variables: 40 removed binding forms: 29 substituted constant variable: x23 folded constant expression: (+ (quote 1) (quote 1)) replaced variables: 2 removed binding forms: 42 replaced variables: 2 removed binding forms: 3 contracted procedure: k369 contracted procedure: k394 removed binding forms: 4 substituted constant variable: r395 folded constant expression: (= (quote 1) (quote 1)) substituted constant variable: r370 substituted constant variable: r370 contracted procedure: k435 removed binding forms: 1 removed conditional forms: 1 contracted procedure: k372 contracted procedure: k378 substituted constant variable: r436 folded constant expression: (= (quote 2) (quote 2)) removed binding forms: 4 contracted procedure: k327 substituted constant variable: r379 substituted constant variable: r379 removed binding forms: 3 removed conditional forms: 1 contracted procedure: k381 substituted constant variable: r328 substituted constant variable: r328 removed binding forms: 2 removed conditional forms: 1 contracted procedure: k330 removed binding forms: 3 removed binding forms: 1 simplifications: ((##core#call . 11)) call simplifications: eq? 3 ##sys#setslot list? not list 2 null? ##sys#call-with-values equal? contracted procedure: k300 contracted procedure: k306 contracted procedure: k312 contracted procedure: k333 contracted procedure: k336 contracted procedure: k426 contracted procedure: k339 contracted procedure: k419 contracted procedure: k345 contracted procedure: k354 removed binding forms: 10 substituted constant variable: r420 replaced variables: 3 removed binding forms: 2 calls to known targets: 6 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o foo: 1 bar: 1.0 /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'specialization-test-2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -types foo.types -types specialization-test-2.types -feature chicken-bootstrap -specialize -debug ox eliminated procedure checks: 4 specializations: 1 (specialize-me fixnum) 1 (##sys#call-with-values (procedure () *) *) 1 (zero? fixnum) 2 (= fixnum fixnum) 1 (foo#bar fixnum) safe calls: 14 substituted constant variable: a295 substituted constant variable: a296 folded constant expression: (eq? (quote 123) (quote 123)) merged explicitly consed rest parameter: args1927 consed rest parameter at call site: tmp2234 1 contracted procedure: tmp1233 substituted constant variable: a346 substituted constant variable: a344 replaced variables: 20 removed binding forms: 11 contracted procedure: k280 removed binding forms: 22 substituted constant variable: r281 substituted constant variable: r281 removed conditional forms: 1 contracted procedure: k283 removed binding forms: 2 removed binding forms: 1 simplifications: ((##core#call . 5)) call simplifications: ##sys#apply car string-length eq? 2 contracted procedure: k246 contracted procedure: k255 contracted procedure: k262 removed binding forms: 3 customizable procedures: (tmp2234) calls to known targets: 3 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== specialization benchmark ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'fft.scm' -output-file 'fft1.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -optimize-level 2 -local -debug-level 0 -disable-interrupts -block 'gcc' 'fft1.c' -o 'fft1.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm fft1.c 'gcc' 'fft1.o' -o 'fft1' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm fft1.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'fft.scm' -output-file 'fft2.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -optimize-level 2 -local -specialize -debug x -debug-level 0 -disable-interrupts -block -specialize 'gcc' 'fft2.c' -o 'fft2.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm fft2.c 'gcc' 'fft2.o' -o 'fft2' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm fft2.o normal: real 0m 0.59s user 0m 0.56s sys 0m 0.00s specialized: real 0m 0.35s user 0m 0.34s sys 0m 0.00s ======================================== callback tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'callback-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o callbacks ... hi! callbacks ... hi! hi! double-return from callback failed as it should. ======================================== runtime tests ... testing 'apply' with 0..2000... testing 'apply' with 10000... invoking directly with 0..50 (Lower edge case)... invoking directly with 1950..2000 (Higher edge case)... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'apply-test.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o testing 'apply' with 0..2000... testing 'apply' with 10000... invoking directly with 0..50 (Lower edge case)... invoking directly with 1950..2000 (Higher edge case)... apply test with limited temp stack failed as it should. /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'test-gc-hooks.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 0x000000000003af68 0x000000000003af68 0x000000000003af68 0x000000000003afb8 major gc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=1, count=0, ms=3 minor gc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=0, count=0, ms=0 alloc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=1, count=0, ms=0 >>>>> GC pre hook - mode=2, count=0 <<<<< GC post hook - mode=2, count=0, ms=0 >>>>> GC pre hook - mode=2, count=0 <<<<< GC post hook - mode=2, count=0, ms=0 resize ... >>>>> GC pre hook - mode=2, count=0 <<<<< GC post hook - mode=2, count=0, ms=0 major gc ... >>>>> GC pre hook - mode=0, count=0 >>>>> GC pre hook - mode=2, count=1 <<<<< GC post hook - mode=2, count=1, ms=0 <<<<< GC post hook - mode=1, count=0, ms=7 minor gc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=0, count=0, ms=0 >>>>> GC pre hook - mode=0, count=0 >>>>> GC pre hook - mode=2, count=1 <<<<< GC post hook - mode=2, count=1, ms=0 <<<<< GC post hook - mode=1, count=0, ms=0 ======================================== library tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'library-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -specialize Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(library-tests.scm:12) assertion failed" '(not ...))) Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:27) in procedure call to `finite?', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:51) in procedure call to `exact?', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:55) in procedure call to `inexact?', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:126) in procedure call to `even?', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:127) in procedure call to `odd?', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:198) in procedure call to `min', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:199) in procedure call to `max', expected argument #1 of type `number' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:666) in procedure call to `assq', expected argument #2 of type `(list-of pair)' but was given an argument of type `(list symbol)' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:667) in procedure call to `assq', expected argument #2 of type `(list-of pair)' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:672) in procedure call to `assv', expected argument #2 of type `(list-of pair)' but was given an argument of type `(list symbol)' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:673) in procedure call to `assv', expected argument #2 of type `(list-of pair)' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:677) in procedure call to `assoc', expected argument #2 of type `(list-of pair)' but was given an argument of type `(list string)' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:678) in procedure call to `assoc', expected argument #2 of type `(list-of pair)' but was given an argument of type `string' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:685) in procedure call to `memq', expected argument #2 of type `list' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:690) in procedure call to `memv', expected argument #2 of type `list' but was given an argument of type `symbol' Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (library-tests.scm:695) in procedure call to `member', expected argument #2 of type `list' but was given an argument of type `string' 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'records-and-setters-test.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== reader tests ... ======================================== dynamic-wind tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'dwindtst.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o *** Skipping "feeley-dynwind" for now *** ======================================== lolevel tests ... old: "\x00yoя" new: "яoy\x00" old: #(yo 1 2 #f #t (1 2 3) #(1 2 3)) new: #(#(1 2 3) (1 2 3) #t #f 2 1 yo) old: #u8(0 1 2 254 255) new: #u8(255 254 2 1 0) old: #s8(-128 -127 -2 -1 0 1 2 126 127) new: #s8(127 126 2 1 0 -1 -2 -127 -128) old: #u16(0 1 2 65534 65535) new: #u16(65535 65534 2 1 0) old: #s16(-32768 -32767 -2 -1 0 1 2 32766 32767) new: #s16(32767 32766 2 1 0 -1 -2 -32767 -32768) old: #u32(0 1 2 4294967294 4294967295) new: #u32(4294967295 4294967294 2 1 0) old: #s32(-2147483648 -2147483647 -2 -1 0 1 2 2147483646 2147483647) new: #s32(2147483647 2147483646 2 1 0 -1 -2 -2147483647 -2147483648) old: #f32(-inf.0 -2.0 -1.0 0.0 1.0 2.0 +inf.0) new: #f32(+inf.0 2.0 1.0 0.0 -1.0 -2.0 -inf.0) old: #f64(-1e+200 -2.0 -1.0 0.0 1.0 2.0 1e+200) new: #f64(1e+200 2.0 1.0 0.0 -1.0 -2.0 -1e+200) /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'lolevel-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -specialize Note: at toplevel: (lolevel-tests.scm:59) in procedure call to `pointer-like?', the predicate is called with an argument of type `(procedure allocate (fixnum) (or false pointer))' and will always return true Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:59) assertion failed" '(pointer-like? allocate))) Note: in toplevel procedure `doloop151': (lolevel-tests.scm:172) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop151': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:172) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop151': (lolevel-tests.scm:172) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop151': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:172) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop213': (lolevel-tests.scm:173) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop213': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:173) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop213': (lolevel-tests.scm:173) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop213': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:173) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop282': (lolevel-tests.scm:174) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop282': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:174) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop282': (lolevel-tests.scm:174) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop282': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:174) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop345': (lolevel-tests.scm:175) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop345': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:175) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop345': (lolevel-tests.scm:175) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop345': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:175) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop420': (lolevel-tests.scm:176) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop420': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:176) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop420': (lolevel-tests.scm:176) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop420': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:176) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop483': (lolevel-tests.scm:177) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop483': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:177) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop483': (lolevel-tests.scm:177) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop483': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:177) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop558': (lolevel-tests.scm:178) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop558': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:178) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop558': (lolevel-tests.scm:178) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop558': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:178) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop621': (lolevel-tests.scm:179) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop621': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:179) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop621': (lolevel-tests.scm:179) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop621': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:179) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop696': (lolevel-tests.scm:183) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop696': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:183) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop696': (lolevel-tests.scm:183) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop696': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:183) assertion failed" '(locative? loc-dst))) Note: in toplevel procedure `doloop765': (lolevel-tests.scm:184) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop765': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:184) assertion failed" '(locative? loc-src))) Note: in toplevel procedure `doloop765': (lolevel-tests.scm:184) in procedure call to `locative?', the predicate is called with an argument of type `locative' and will always return true Note: in toplevel procedure `doloop765': expected a value of type boolean in conditional, but was given a value of type `true' which is always true: (if tmp tmp (##sys#error "(lolevel-tests.scm:184) assertion failed" '(locative? loc-dst))) 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o old: "\x00yoя" new: "яoy\x00" old: #(yo 1 2 #f #t (1 2 3) #(1 2 3)) new: #(#(1 2 3) (1 2 3) #t #f 2 1 yo) old: #u8(0 1 2 254 255) new: #u8(255 254 2 1 0) old: #s8(-128 -127 -2 -1 0 1 2 126 127) new: #s8(127 126 2 1 0 -1 -2 -127 -128) old: #u16(0 1 2 65534 65535) new: #u16(65535 65534 2 1 0) old: #s16(-32768 -32767 -2 -1 0 1 2 32766 32767) new: #s16(32767 32766 2 1 0 -1 -2 -32767 -32768) old: #u32(0 1 2 4294967294 4294967295) new: #u32(4294967295 4294967294 2 1 0) old: #s32(-2147483648 -2147483647 -2 -1 0 1 2 2147483646 2147483647) new: #s32(2147483647 2147483646 2 1 0 -1 -2 -2147483647 -2147483648) old: #f32(-inf.0 -2.0 -1.0 0.0 1.0 2.0 +inf.0) new: #f32(+inf.0 2.0 1.0 0.0 -1.0 -2.0 -inf.0) old: #f64(-1e+200 -2.0 -1.0 0.0 1.0 2.0 1e+200) new: #f64(1e+200 2.0 1.0 0.0 -1.0 -2.0 -1e+200) ======================================== arithmetic tests ... ======================================== pretty-printer tests ... ======================================== evaluation environment tests ... (PASS) (eval 123) (PASS) (eval 123 (interaction-environment)) (PASS) (eval (quote car) (interaction-environment)) (PASS) (eval (quote foo) (interaction-environment)) (PASS) (eval (quote (begin (set! foo 99) foo)) (interaction-environment)) (PASS) (eval 123) (PASS) (eval 123 (scheme-report-environment 5)) (PASS) (eval (quote car) (scheme-report-environment 5)) (PASS) (eval (quote foo) (scheme-report-environment 5)) (PASS) (eval (quote values) (scheme-report-environment 4)) (PASS) (eval (quote values) (scheme-report-environment 5)) (PASS) (eval (quote (set! foo 99)) (scheme-report-environment 5)) (PASS) (eval (quote (define-syntax foo (syntax-rules () ((_) 1)))) (scheme-report-environment 5)) (PASS) (eval (quote car) (null-environment 5)) (PASS) (eval (quote (cond-expand (chicken 1) (else 2))) (null-environment 4)) (PASS) (eval (quote (cond-expand (chicken 1) (else 2))) (null-environment 5)) (PASS) (eval (quote (cond-expand (chicken 1) (else 2))) (scheme-report-environment 4)) (PASS) (eval (quote (cond-expand (chicken 1) (else 2))) (scheme-report-environment 5)) (PASS) 1 (PASS) 1 (PASS) 1 (PASS) (eval (quote ((lambda (x) x) 123)) (null-environment 5)) (PASS) (eval (quote (bar)) foo-env) (PASS) (eval (quote baz) foo-env) (PASS) (eval (quote (xcons 1 2)) srfi-1-env) (PASS) (eval (quote baz) srf-1-env) 26 tests completed in 0.028 seconds 26 (100.00%) tests passed 0 (0.00%) tests failed ======================================== syntax tests ... 3 100 (M1: (m1 n)) 3628800 34 (0 1 2 3 (4) (5 6)) 45 now outer 7 (1 2 3 a) (1 2 3 a) (1 2 3 a) #(b) "baz" "no baz" "no baz" 2 #t ok 1 3 (3 4) "x" "x" "bar" "bar" "foo#bar" "#%void" "foo#bar" "#%void" (... 1 2 3) 3 (() 1 2) (((1) 2) 3 4) (((1 2) (4) 3 5) 6 7) (() 1 2) ((#() 1) 2 3) ((#(1 2) 3) 4 5) ((#(1 2) 3) 4 5 6 7) (() 1 2 3 4) ((#(1) 2) 3 4 5 6) ((#(1 2) #(4) 3 5) 6 7 8 9) (1) (99) 7 (1 2 3) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 3 ok caught (99) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 Warning: reference to possibly unbound identifier `one#always-one' in: Warning: always-two #((99)) #((one)) (1 #(1 #(1))) yep 1 a-procedure # 1 1 void (1 2) (1 2 3 4 (5 6)) 1 1 2 3 4 #f #f foo #f () () (1) (1) (1) (1 2) (1 2) (1 2) (1 2 3 4) (1 2 3 4) (1 2 3 4 5 6) (ok) 2 () () (1) (1) (1) (1 2) (1 2) (1 2) (1 2 3 4) (1 2 3 4) (1 2 3 4 5 6) 1 unquote a (foo . 1) `,a (quasiquote x y) ,@a (1 2) `,(1 2) `,@(1 2) `(unquote 1 2) x `,@`,x `,`,@x `,`,(1 2) (quasiquote . #(1 ,x 3)) `#(1 ,x 3) (quasiquote a #(1 ,x 3) b) `(unquote . #(1 (1 2) 3)) `,#(1 (1 2) 3) `(unquote a #(1 (1 2) 3) b) `(unquote-splicing . #(1 (1 2) 3)) `,@#(1 (1 2) 3) `(unquote-splicing a #(1 (1 2) 3) b) quasiquote unquote unquote-splicing (x quasiquote) (x unquote-splicing) (a 1) (1) (1) 1 4 1 # 1 1 1 1 ======================================== syntax tests (compiled) ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'syntax-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. Note: assignment to imported value binding: setter Note: at toplevel: (syntax-tests.scm:38) in procedure call to `number?', the predicate is called with an argument of type `fixnum' and will always return true Note: at toplevel: in conditional, test expression will always return false: (if temp temp (let ((temp ...)) (if temp temp (let ... ...)))) Warning: in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (syntax-tests.scm:201) in procedure call to `string-length', expected argument #1 of type `string' but was given an argument of type `fixnum' Note: at toplevel: in conditional, test expression will always return false: (if #f 'false =>) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (let ((t801 =>)) 3)) Note: at toplevel: in conditional, test expression will always return false: (if temp temp (let ((temp ...)) (if temp temp (let ... ...)))) Warning: in local procedure `f1812', in local unknown procedure, in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (syntax-tests.scm:413) in procedure call to `exit', expected argument #1 of type `fixnum' but was given an argument of type `false' Warning: at toplevel: assignment of value of type `fixnum' to toplevel variable `setter' does not match declared type `(procedure setter (procedure) procedure)' Warning: in local procedure `f2489', in local unknown procedure, in local unknown procedure, in local unknown procedure, in toplevel unknown procedure: (syntax-tests.scm:613) in procedure call to `exit', expected argument #1 of type `fixnum' but was given an argument of type `false' Note: at toplevel: in conditional, test expression will always return false: (if #f 'false 'yep) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (let ((tmp 1)) (if tmp (let ... ...) 'yep))) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if tmp (let ((g2726 ...)) (g2726 tmp)) 'yep) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (if 1 (let (...) 'a-procedure) 'yep)) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if 1 (let ((t2749 =>)) 'a-procedure) 'yep) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (if else 'nope (void))) Note: at toplevel: in conditional, test expression will always return false: (if else 'nope (void)) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (let ((tmp 1)) (if tmp (let ... ...) 'yep))) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if tmp (let ((g2791 ...)) (g2791 tmp)) 'yep) Note: at toplevel: in conditional, test expression will always return false: (if #f 'false (let ((tmp 1)) (if tmp (let ... ...) 'yep))) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if tmp (let ((g2817 ...)) (g2817 tmp)) 'yep) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if a a #f) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if a (let ((b ...)) (if b b #f)) #f) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `number' which is always true: (if b b #f) Note: at toplevel: in conditional, test expression will always return false: (if tmp tmp #t) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if c (if (equal? 4 c) c #f) #f) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `fixnum' which is always true: (if c (if (equal? 5 c) (error "not reached") #f) #f) Note: at toplevel: expected a value of type boolean in conditional, but was given a value of type `symbol' which is always true: (if a a #f) Note: at toplevel: in conditional, test expression will always return false: (if a (if (error "not reached 1") (error "not reached 2") #f) #f) Warning: redefinition of extended binding: setter (M1: (m1 n)) 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 3 100 3628800 34 (0 1 2 3 (4) (5 6)) 45 now outer 7 (1 2 3 a) (1 2 3 a) (1 2 3 a) #(b) "baz" "no baz" "no baz" 2 #t ok 1 3 (3 4) "x" "x" "bar" "bar" "foo#bar" "#%void" "foo#bar" "#%void" (... 1 2 3) 3 (() 1 2) (((1) 2) 3 4) (((1 2) (4) 3 5) 6 7) (() 1 2) ((#() 1) 2 3) ((#(1 2) 3) 4 5) ((#(1 2) 3) 4 5 6 7) (() 1 2 3 4) ((#(1) 2) 3 4 5 6) ((#(1 2) #(4) 3 5) 6 7 8 9) (1) (99) 7 (1 2 3) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 3 ok caught (99) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 Warning: reference to possibly unbound identifier `one#always-one' in: Warning: always-two #((99)) #((one)) (1 #(1 #(1))) yep 1 a-procedure # 1 1 void (1 2) (1 2 3 4 (5 6)) 1 1 2 3 4 #f #f foo #f () () (1) (1) (1) (1 2) (1 2) (1 2) (1 2 3 4) (1 2 3 4) (1 2 3 4 5 6) (ok) 2 () () (1) (1) (1) (1 2) (1 2) (1 2) (1 2 3 4) (1 2 3 4) (1 2 3 4 5 6) 1 unquote a (foo . 1) `,a (quasiquote x y) ,@a (1 2) `,(1 2) `,@(1 2) `(unquote 1 2) x `,@`,x `,`,@x `,`,(1 2) (quasiquote . #(1 ,x 3)) `#(1 ,x 3) (quasiquote a #(1 ,x 3) b) `(unquote . #(1 (1 2) 3)) `,#(1 (1 2) 3) `(unquote a #(1 (1 2) 3) b) `(unquote-splicing . #(1 (1 2) 3)) `,@#(1 (1 2) 3) `(unquote-splicing a #(1 (1 2) 3) b) quasiquote unquote unquote-splicing (x quasiquote) (x unquote-splicing) (a 1) (1) (1) 1 4 1 # 1 1 1 1 ======================================== syntax tests (v2, compiled) ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'syntax-tests-2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== meta-syntax tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'meta-syntax-test.scm' -output-file 'meta-syntax-test.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-import-library foo generating import library `foo.import.scm' for module `foo' ... 'gcc' 'meta-syntax-test.c' -o 'meta-syntax-test.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm meta-syntax-test.c 'gcc' 'meta-syntax-test.o' -o 'meta-syntax-test.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm meta-syntax-test.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'foo.import.scm' -output-file 'foo.import.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'foo.import.c' -o 'foo.import.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm foo.import.c 'gcc' 'foo.import.o' -o 'foo.import.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm foo.import.o ======================================== reexport tests ... Warning: reference to possibly unbound identifier `values' 7 "abc-def-ghi" 1 /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 7 "abc-def-ghi" 1 /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m1.scm' -output-file 'reexport-m1.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `reexport-m1.import.scm' for module `reexport-m1' ... 'gcc' 'reexport-m1.c' -o 'reexport-m1.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m1.c 'gcc' 'reexport-m1.o' -o 'reexport-m1.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m1.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m1.import.scm' -output-file 'reexport-m1.import.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'reexport-m1.import.c' -o 'reexport-m1.import.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m1.import.c 'gcc' 'reexport-m1.import.o' -o 'reexport-m1.import.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m1.import.o (1 2 . 3) /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o (1 2 . 3) /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m3.scm' -output-file 'reexport-m3.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `reexport-m3.import.scm' for module `reexport-m3' ... 'gcc' 'reexport-m3.c' -o 'reexport-m3.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m3.c 'gcc' 'reexport-m3.o' -o 'reexport-m3.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m3.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m4.scm' -output-file 'reexport-m4.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `reexport-m4.import.scm' for module `reexport-m4' ... 'gcc' 'reexport-m4.c' -o 'reexport-m4.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m4.c 'gcc' 'reexport-m4.o' -o 'reexport-m4.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m4.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m5.scm' -output-file 'reexport-m5.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `reexport-m5.import.scm' for module `reexport-m5' ... 'gcc' 'reexport-m5.c' -o 'reexport-m5.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m5.c 'gcc' 'reexport-m5.o' -o 'reexport-m5.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m5.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-m6.scm' -output-file 'reexport-m6.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `reexport-m6.import.scm' for module `reexport-m6' ... 'gcc' 'reexport-m6.c' -o 'reexport-m6.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm reexport-m6.c 'gcc' 'reexport-m6.o' -o 'reexport-m6.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm reexport-m6.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'reexport-tests-2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 1 11======================================== functor tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'simple-functors-test.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o Queue representation #1: 0.007s CPU time, 15/0 mutations (total/tracked), 0/16 GCs (major/minor), maximum live heap: 610.38 KiB Queue representation #2: 0.317s CPU time, 0.019s GC time (major), 15/0 mutations (total/tracked), 12/1483 GCs (major/minor), maximum live heap: 656.62 KiB Queue representation #3: 0.004s CPU time, 15/0 mutations (total/tracked), 0/15 GCs (major/minor), maximum live heap: 610.49 KiB ("") (PASS) argument mismatch (PASS) undefined module (PASS) undefined interface (PASS) undefined interface in functor (PASS) undefined interface in functor result (PASS) alternative functor instantiation syntax (PASS) optional functor argument #1 (PASS) optional functor argument #2 (PASS) primitive optional functor argument #1 (PASS) primitive optional functor argument #2 10 tests completed in 0.434 seconds 10 (100.00%) tests passed 0 (0.00%) tests failed /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'functor-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o Queue representation #1: 0.027s CPU time, 5/49 GCs (major/minor), maximum live heap: 307.45 KiB Queue representation #2: 0.204s CPU time, 0.059s GC time (major), 67/376 GCs (major/minor), maximum live heap: 339.88 KiB Queue representation #3: 0.006s CPU time, 0/3 GCs (major/minor), maximum live heap: 301.25 KiB ("") (PASS) alternative functor instantiation syntax (PASS) optional functor argument #1 (PASS) optional functor argument #2 (PASS) primitive optional functor argument #1 (PASS) primitive optional functor argument #2 5 tests completed in 0.253 seconds 5 (100.00%) tests passed 0 (0.00%) tests failed /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'square-functor.scm' -output-file 'a.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries generating import library `square-functor.import.scm' for module `square-functor' ... 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'square-functor.import.scm' -output-file 'a.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'use-square-functor.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. Note: re-importing already imported identifier: * 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'use-square-functor.scm' -output-file 'a.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-all-import-libraries Note: re-importing already imported identifier: * generating import library `num.import.scm' for module `num' ... generating import library `lst.import.scm' for module `lst' ... generating import library `sf1.import.scm' for module `sf1' ... generating import library `sf2.import.scm' for module `sf2' ... 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== compiler syntax tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'compiler-syntax-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o 9 7 (cs-goo 2) zzz ======================================== import tests ... Warning: reference to possibly unbound identifier `s8vector?' expect warning ... ======================================== import library tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'import-library-test1.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-import-library foo generating import library `foo.import.scm' for module `foo' ... 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'foo.import.scm' -output-file 'foo.import.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'foo.import.c' -o 'foo.import.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm foo.import.c 'gcc' 'foo.import.o' -o 'foo.import.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm foo.import.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'import-library-test2.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== optionals test ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'test-optional.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== syntax tests (matchable) ... (PASS) any (PASS) symbol (PASS) number (PASS) string (PASS) literal symbol (PASS) null (PASS) pair (PASS) vector (PASS) any doubled (PASS) and empty (PASS) and single (PASS) and double (PASS) or empty (PASS) or single (PASS) or double (PASS) not (PASS) pred (PASS) named pred (PASS) duplicate symbols pass (PASS) duplicate symbols fail (PASS) duplicate symbols samth (PASS) ellipses (PASS) real ellipses (PASS) vector ellipses (PASS) pred ellipses (PASS) failure continuation (PASS) let (PASS) let* (PASS) getter car (PASS) getter cdr (PASS) getter vector (PASS) setter car (PASS) setter cdr (PASS) setter vector (PASS) single tail (PASS) single tail 2 (PASS) multiple tail (PASS) Riastradh quasiquote 38 tests completed in 0.168 seconds 38 (100.00%) tests passed 0 (0.00%) tests failed ======================================== syntax tests (loopy-loop) ... (PASS) stepping (PASS) basic in-list (PASS) in-list with result (PASS) in-list with collecting (PASS) uneven length in-list's (PASS) in-lists (PASS) flatten (recursion test) (PASS) in-string (PASS) in-string with start (PASS) in-string with start and end (PASS) in-string with start, end and step (PASS) in-string-reverse (PASS) in-vector (PASS) in-permutations (PASS) in-permutations with length (PASS) in-combinations (PASS) in-hash-table 17 tests completed in 0.330 seconds 17 (100.00%) tests passed 0 (0.00%) tests failed ======================================== r4rstest ... (expect mult-float-print-test to fail) ======================================== syntax tests (r5rs_pitfalls) ... (expect two failures) Passed: 1.1 Passed: 1.2 Passed: 1.3 Passed: 2.1 Passed: 3.1 Passed: 3.2 Passed: 3.3 Passed: 3.4 Passed: 4.1 Passed: 4.2 Passed: 4.3 Passed: 5.1 Passed: 5.2 Passed: 5.3 Passed: 6.1 Passed: 7.1 Passed: 7.2 Passed: 7.3 Passed: 7.4 Passed: 8.1 Passed: 8.2 Passed: 8.3 Map is not call/cc safe, but probably tail recursive and efficient. ======================================== r7rs tests ... (section 4 2 1) (#) ==> 1 (#) ==> foo (#) ==> "a" (#) ==> "a" (#) (#) (section 4 2 5) (# #) ==> #t (# #) ==> #t (# #) ==> #t (# #) ==> 1 (# #) ==> #t (# #) ==> 1 (# #) ==> #t (# #) ==> #t (# 1) ==> 1 (# #) ==> # (# #) ==> 3 (# 3 3) ==> (3 3) (# #) ==> 0 (# #) ==> 0 (# #) ==> 1 (# #) ==> 2 (# #) ==> #t (# #) ==> 6 (# #) ==> #t (# #) ==> 6 (# #) ==> #t (# #) ==> 1 (# #) ==> 6 (# #) ==> #t (#f (1 2 3)) ==> (1 2 3) (#f (4 5 6)) ==> (4 5 6) (#f ()) ==> () (section 5 3) (#) ==> (1 2) (#) ==> (1 (2)) (#) ==> ((1 2)) (#) ==> ok (section 6 6) (#named-char x)> 7) ==> "#\\alarm" (#named-char x)> 8) ==> "#\\backspace" (#named-char x)> 127) ==> "#\\delete" (#named-char x)> 27) ==> "#\\escape" (#named-char x)> 10) ==> "#\\newline" (#named-char x)> 0) ==> "#\\null" (#named-char x)> 13) ==> "#\\return" (#named-char x)> 32) ==> "#\\space" (#named-char x)> 9) ==> "#\\tab" (section 6 7) (# "a") ==> #\alarm (# "b") ==> #\backspace (# "t") ==> #\tab (# "n") ==> #\newline (# "r") ==> #\return (# "\"") ==> #\" (# "\\") ==> #\\ (# "|") ==> #\| (# "\n END") ==> #\E (# "\r END") ==> #\E (# "\r\n END") ==> #\E (# " \nEND") ==> #\E (# " \nEND") ==> #\E (# " \n END") ==> #\E (# " \n \n END") ==> #\newline (# " \r \n END") ==> #\newline (# "\t\n\t END") ==> #\E (# " \n ") ==> "" (section 6 8) (#f #(0 (2 2 2 2) "Anna")) ==> #(0 (2 2 2 2) "Anna") (# #(0 (a b) c)) ==> #t (# #(0 (a b) c)) ==> #t (#f #(0 (a b) c d #(1 2 (e) f) g)) ==> #(0 (a b) c d #(1 2 (e) f) g) Passed all tests ======================================== module tests ... (PASS) internal/variable (PASS) external/unimported variable (fail) (PASS) external/unimported syntax (fail) (PASS) external/imported variable (PASS) external/imported syntax (PASS) modified import (PASS) hidden import (PASS) prefixed import and reexport ok. (PASS) indirect imports f1 (PASS) chained indirect imports (PASS) literal compare and export (PASS) redefinition of indirect import (PASS) redefinition of indirect import (II) (PASS) value reexport (PASS) syntax reexport (PASS) primitive indirect value-binding reexport (PASS) extended lambda list uses expansion environment # (PASS) function defined in module that is the result of an expansion (PASS) syntax defined in module that is the result of an expansion (PASS) global module alias scope (1) (PASS) local module alias scope (PASS) global module alias scope (2) (PASS) `*' export-list + explicit export 1 1 2 (PASS) handle star-exporting module with reexport (PASS) star-export with explicit re-export of syntax 25 tests completed in 0.096 seconds 25 (100.00%) tests passed 0 (0.00%) tests failed () f1 oinkoink ======================================== module tests (compiled) ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'module-tests-compiled.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o (PASS) inline in syntax (PASS) unmarked primitive exports 2 tests completed in 0.000 seconds 2 (100.00%) tests passed 0 (0.00%) tests failed ======================================== module tests (chained) ... f1 /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'test-chained-modules.scm' -output-file 'test-chained-modules.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-import-library m3 generating import library `m3.import.scm' for module `m3' ... 'gcc' 'test-chained-modules.c' -o 'test-chained-modules.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm test-chained-modules.c 'gcc' 'test-chained-modules.o' -o 'test-chained-modules.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm test-chained-modules.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'm3.import.scm' -output-file 'm3.import.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'm3.import.c' -o 'm3.import.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm m3.import.c 'gcc' 'm3.import.o' -o 'm3.import.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm m3.import.o CHICKEN (c) 2008-2017, The CHICKEN Team (c) 2000-2007, Felix L. Winkelmann Version 4.12.0rc1 ((detached from 4.12.0rc1)) (rev 9275cfa) android-android-clang-unknown [ 64bit manyargs dload ptables ] compiled 2017-01-22 on waldrop (Linux) ; loading test-chained-modules.so ... ; loading /data/data/com.termux/files/home/chickens/4.12.0RC1//lib/chicken/8/chicken.import.so ... f1 f1 f1 ======================================== module tests (ec) ... (let ((x 0)) (do-ec (set! x (+ x 1))) x) => 1 ; correct (let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x) => 10 ; correct (let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x) => 45 ; correct (list-ec 1) => (1) ; correct (list-ec (:range i 4) i) => (0 1 2 3) ; correct (list-ec (:range n 3) (:range k (+ n 1)) (list n k)) => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct (list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k)) => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct (list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k)) => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x) => 10 ; correct (list-ec (nested (:range n 3) (:range k n)) k) => (0 0 1) ; correct (append-ec (quote (a b))) => (a b) ; correct (append-ec (:range i 0) (quote (a b))) => () ; correct (append-ec (:range i 1) (quote (a b))) => (a b) ; correct (append-ec (:range i 2) (quote (a b))) => (a b a b) ; correct (string-ec #\a) => "a" ; correct (string-ec (:range i 0) #\a) => "" ; correct (string-ec (:range i 1) #\a) => "a" ; correct (string-ec (:range i 2) #\a) => "aa" ; correct (string-append-ec "ab") => "ab" ; correct (string-append-ec (:range i 0) "ab") => "" ; correct (string-append-ec (:range i 1) "ab") => "ab" ; correct (string-append-ec (:range i 2) "ab") => "abab" ; correct (vector-ec 1) => #(1) ; correct (vector-ec (:range i 0) i) => #() ; correct (vector-ec (:range i 1) i) => #(0) ; correct (vector-ec (:range i 2) i) => #(0 1) ; correct (vector-of-length-ec 1 1) => #(1) ; correct (vector-of-length-ec 0 (:range i 0) i) => #() ; correct (vector-of-length-ec 1 (:range i 1) i) => #(0) ; correct (vector-of-length-ec 2 (:range i 2) i) => #(0 1) ; correct (sum-ec 1) => 1 ; correct (sum-ec (:range i 0) i) => 0 ; correct (sum-ec (:range i 1) i) => 0 ; correct (sum-ec (:range i 2) i) => 1 ; correct (sum-ec (:range i 3) i) => 3 ; correct (product-ec 1) => 1 ; correct (product-ec (:range i 1 0) i) => 1 ; correct (product-ec (:range i 1 1) i) => 1 ; correct (product-ec (:range i 1 2) i) => 1 ; correct (product-ec (:range i 1 3) i) => 2 ; correct (product-ec (:range i 1 4) i) => 6 ; correct (min-ec 1) => 1 ; correct (min-ec (:range i 1) i) => 0 ; correct (min-ec (:range i 2) i) => 0 ; correct (max-ec 1) => 1 ; correct (max-ec (:range i 1) i) => 0 ; correct (max-ec (:range i 2) i) => 1 ; correct (first-ec #f 1) => 1 ; correct (first-ec #f (:range i 0) i) => #f ; correct (first-ec #f (:range i 1) i) => 0 ; correct (first-ec #f (:range i 2) i) => 0 ; correct (let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i) => 0 ; correct (last-ec #f 1) => 1 ; correct (last-ec #f (:range i 0) i) => #f ; correct (last-ec #f (:range i 1) i) => 0 ; correct (last-ec #f (:range i 2) i) => 1 ; correct (any?-ec #f) => #f ; correct (any?-ec #t) => #t ; correct (any?-ec (:range i 2 2) (even? i)) => #f ; correct (any?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec #f) => #f ; correct (every?-ec #t) => #t ; correct (every?-ec (:range i 2 2) (even? i)) => #t ; correct (every?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec (:range i 2 4) (even? i)) => #f ; correct (let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr)) => 285 ; correct (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)) => 284 ; correct (fold3-ec (quote infinity) (:range i 0) i min min) => infinity ; correct (list-ec (:list x (quote ())) x) => () ; correct (list-ec (:list x (quote (1))) x) => (1) ; correct (list-ec (:list x (quote (1 2 3))) x) => (1 2 3) ; correct (list-ec (:list x (quote (1)) (quote (2))) x) => (1 2) ; correct (list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x) => (1 2 3) ; correct (list-ec (:string c "") c) => () ; correct (list-ec (:string c "1") c) => (#\1) ; correct (list-ec (:string c "123") c) => (#\1 #\2 #\3) ; correct (list-ec (:string c "1" "2") c) => (#\1 #\2) ; correct (list-ec (:string c "1" "2" "3") c) => (#\1 #\2 #\3) ; correct (list-ec (:vector x (vector)) x) => () ; correct (list-ec (:vector x (vector 1)) x) => (1) ; correct (list-ec (:vector x (vector 1 2 3)) x) => (1 2 3) ; correct (list-ec (:vector x (vector 1) (vector 2)) x) => (1 2) ; correct (list-ec (:vector x (vector 1) (vector 2) (vector 3)) x) => (1 2 3) ; correct (list-ec (:range x -2) x) => () ; correct (list-ec (:range x -1) x) => () ; correct (list-ec (:range x 0) x) => () ; correct (list-ec (:range x 1) x) => (0) ; correct (list-ec (:range x 2) x) => (0 1) ; correct (list-ec (:range x 0 3) x) => (0 1 2) ; correct (list-ec (:range x 1 3) x) => (1 2) ; correct (list-ec (:range x -2 -1) x) => (-2) ; correct (list-ec (:range x -2 -2) x) => () ; correct (list-ec (:range x 1 5 2) x) => (1 3) ; correct (list-ec (:range x 1 6 2) x) => (1 3 5) ; correct (list-ec (:range x 5 1 -2) x) => (5 3) ; correct (list-ec (:range x 6 1 -2) x) => (6 4 2) ; correct (list-ec (:real-range x 0.0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3 1.0) x) => (0.0 1.0 2.0) ; correct (string-ec (:char-range c #\a #\z) c) => "abcdefghijklmnopqrstuvwxyz" ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i) => (0 1 2 3) ; correct (list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j) => (10 9 8 7) ; correct (list-ec (:let x 1) x) => (1) ; correct (list-ec (:let x 1) (:let y (+ x 1)) y) => (2) ; correct (list-ec (:let x 1) (:let x (+ x 1)) x) => (2) ; correct (list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x)) => ((1 a) (2 b) (3 c)) ; correct (list-ec (:while (:range i 1 10) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:range i 1 10) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x) => (1 2 3 4 5) ; correct (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)) => ((1 1) (2 2) (3 3) (4 4)) ; correct (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)) => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct (let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n) => 5 ; correct (list-ec (: c (quote (a b))) c) => (a b) ; correct (list-ec (: c (quote (a b)) (quote (c d))) c) => (a b c d) ; correct (list-ec (: c "ab") c) => (#\a #\b) ; correct (list-ec (: c "ab" "cd") c) => (#\a #\b #\c #\d) ; correct (list-ec (: c (vector (quote a) (quote b))) c) => (a b) ; correct (list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c) => (a b c) ; correct (list-ec (: i 0) i) => () ; correct (list-ec (: i 1) i) => (0) ; correct (list-ec (: i 10) i) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (: i 1 2) i) => (1) ; correct (list-ec (: i 1 2 3) i) => (1) ; correct (list-ec (: i 1 9 3) i) => (1 4 7) ; correct (list-ec (: i 0.0 1.0 0.2) i) => (0.0 0.2 0.4 0.6 0.8) ; correct (list-ec (: c #\a #\c) c) => (#\a #\b #\c) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:list c (index i) (quote (a b))) (list c i)) => ((a 0) (b 1)) ; correct (list-ec (:string c (index i) "a") (list c i)) => ((#\a 0)) ; correct (list-ec (:vector c (index i) (vector (quote a))) (list c i)) => ((a 0)) ; correct (list-ec (:range i (index j) 0 -3 -1) (list i j)) => ((0 0) (-1 1) (-2 2)) ; correct (list-ec (:real-range i (index j) 0 1 0.2) (list i j)) => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct (list-ec (:char-range c (index i) #\a #\c) (list c i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (: x (index i) (quote (a b c d))) (list x i)) => ((a 0) (b 1) (c 2) (d 3)) ; correct (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))))) => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct (list-ec (: i 5) (* i i)) => (0 1 4 9 16) ; correct (list-ec (: n 1 4) (: i n) (list n i)) => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct (list-ec (: x (index i) "abc") (list x i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (:string c (index i) "a" "b") (cons c i)) => ((#\a . 0) (#\b . 1)) ; correct (list-ec (:range x 5) (:range x x) x) => (0 0 1 0 1 2 0 1 2 3) ; correct (list-ec (:list x (quote (2 "23" (4)))) (: y x) y) => (0 1 #\2 #\3 4) ; correct (list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i)) => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct (factorial 0) => 1 ; correct (factorial 1) => 1 ; correct (factorial 3) => 6 ; correct (factorial 5) => 120 ; correct (eratosthenes 50) => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct (length (eratosthenes 100000)) => 9592 ; correct (pythagoras 15) => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct (length (pythagoras 200)) => 127 ; correct (qsort (quote (1 5 4 2 4 5 3 2 1 3))) => (1 1 2 2 3 3 4 4 5 5) ; correct (pi-BBP 5) => 3.14159265322809 ; correct (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")) => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct correct examples : 163 wrong examples : 0 /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'ec.scm' -output-file 'ec.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -emit-import-library ec Note: in local unknown procedure, in toplevel procedure `ec#make-initial-:-dispatch': (ec.scm:758) in procedure call to `real?', the predicate is called with an argument of type `number' and will always return true Note: in local unknown procedure, in toplevel procedure `ec#make-initial-:-dispatch': (ec.scm:758) in procedure call to `real?', the predicate is called with an argument of type `fixnum' and will always return true Note: in local unknown procedure, in toplevel procedure `ec#make-initial-:-dispatch': (ec.scm:767) in procedure call to `string?', the predicate is called with an argument of type `string' and will always return true Note: in local unknown procedure, in toplevel procedure `ec#make-initial-:-dispatch': (ec.scm:774) in procedure call to `real?', the predicate is called with an argument of type `fixnum' and will always return true Note: in local unknown procedure, in toplevel procedure `ec#make-initial-:-dispatch': (ec.scm:785) in procedure call to `string?', the predicate is called with an argument of type `string' and will always return true generating import library `ec.import.scm' for module `ec' ... 'gcc' 'ec.c' -o 'ec.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm ec.c 'gcc' 'ec.o' -o 'ec.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm ec.o /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'ec.import.scm' -output-file 'ec.import.c' -dynamic -feature chicken-compile-shared -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'ec.import.c' -o 'ec.import.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm ec.import.c 'gcc' 'ec.import.o' -o 'ec.import.so' -shared -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm ec.import.o (let ((x 0)) (do-ec (set! x (+ x 1))) x) => 1 ; correct (let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x) => 10 ; correct (let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x) => 45 ; correct (list-ec 1) => (1) ; correct (list-ec (:range i 4) i) => (0 1 2 3) ; correct (list-ec (:range n 3) (:range k (+ n 1)) (list n k)) => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct (list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k)) => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct (list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k)) => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x) => 10 ; correct (list-ec (nested (:range n 3) (:range k n)) k) => (0 0 1) ; correct (append-ec (quote (a b))) => (a b) ; correct (append-ec (:range i 0) (quote (a b))) => () ; correct (append-ec (:range i 1) (quote (a b))) => (a b) ; correct (append-ec (:range i 2) (quote (a b))) => (a b a b) ; correct (string-ec #\a) => "a" ; correct (string-ec (:range i 0) #\a) => "" ; correct (string-ec (:range i 1) #\a) => "a" ; correct (string-ec (:range i 2) #\a) => "aa" ; correct (string-append-ec "ab") => "ab" ; correct (string-append-ec (:range i 0) "ab") => "" ; correct (string-append-ec (:range i 1) "ab") => "ab" ; correct (string-append-ec (:range i 2) "ab") => "abab" ; correct (vector-ec 1) => #(1) ; correct (vector-ec (:range i 0) i) => #() ; correct (vector-ec (:range i 1) i) => #(0) ; correct (vector-ec (:range i 2) i) => #(0 1) ; correct (vector-of-length-ec 1 1) => #(1) ; correct (vector-of-length-ec 0 (:range i 0) i) => #() ; correct (vector-of-length-ec 1 (:range i 1) i) => #(0) ; correct (vector-of-length-ec 2 (:range i 2) i) => #(0 1) ; correct (sum-ec 1) => 1 ; correct (sum-ec (:range i 0) i) => 0 ; correct (sum-ec (:range i 1) i) => 0 ; correct (sum-ec (:range i 2) i) => 1 ; correct (sum-ec (:range i 3) i) => 3 ; correct (product-ec 1) => 1 ; correct (product-ec (:range i 1 0) i) => 1 ; correct (product-ec (:range i 1 1) i) => 1 ; correct (product-ec (:range i 1 2) i) => 1 ; correct (product-ec (:range i 1 3) i) => 2 ; correct (product-ec (:range i 1 4) i) => 6 ; correct (min-ec 1) => 1 ; correct (min-ec (:range i 1) i) => 0 ; correct (min-ec (:range i 2) i) => 0 ; correct (max-ec 1) => 1 ; correct (max-ec (:range i 1) i) => 0 ; correct (max-ec (:range i 2) i) => 1 ; correct (first-ec #f 1) => 1 ; correct (first-ec #f (:range i 0) i) => #f ; correct (first-ec #f (:range i 1) i) => 0 ; correct (first-ec #f (:range i 2) i) => 0 ; correct (let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i) => 0 ; correct (last-ec #f 1) => 1 ; correct (last-ec #f (:range i 0) i) => #f ; correct (last-ec #f (:range i 1) i) => 0 ; correct (last-ec #f (:range i 2) i) => 1 ; correct (any?-ec #f) => #f ; correct (any?-ec #t) => #t ; correct (any?-ec (:range i 2 2) (even? i)) => #f ; correct (any?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec #f) => #f ; correct (every?-ec #t) => #t ; correct (every?-ec (:range i 2 2) (even? i)) => #t ; correct (every?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec (:range i 2 4) (even? i)) => #f ; correct (let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr)) => 285 ; correct (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)) => 284 ; correct (fold3-ec (quote infinity) (:range i 0) i min min) => infinity ; correct (list-ec (:list x (quote ())) x) => () ; correct (list-ec (:list x (quote (1))) x) => (1) ; correct (list-ec (:list x (quote (1 2 3))) x) => (1 2 3) ; correct (list-ec (:list x (quote (1)) (quote (2))) x) => (1 2) ; correct (list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x) => (1 2 3) ; correct (list-ec (:string c "") c) => () ; correct (list-ec (:string c "1") c) => (#\1) ; correct (list-ec (:string c "123") c) => (#\1 #\2 #\3) ; correct (list-ec (:string c "1" "2") c) => (#\1 #\2) ; correct (list-ec (:string c "1" "2" "3") c) => (#\1 #\2 #\3) ; correct (list-ec (:vector x (vector)) x) => () ; correct (list-ec (:vector x (vector 1)) x) => (1) ; correct (list-ec (:vector x (vector 1 2 3)) x) => (1 2 3) ; correct (list-ec (:vector x (vector 1) (vector 2)) x) => (1 2) ; correct (list-ec (:vector x (vector 1) (vector 2) (vector 3)) x) => (1 2 3) ; correct (list-ec (:range x -2) x) => () ; correct (list-ec (:range x -1) x) => () ; correct (list-ec (:range x 0) x) => () ; correct (list-ec (:range x 1) x) => (0) ; correct (list-ec (:range x 2) x) => (0 1) ; correct (list-ec (:range x 0 3) x) => (0 1 2) ; correct (list-ec (:range x 1 3) x) => (1 2) ; correct (list-ec (:range x -2 -1) x) => (-2) ; correct (list-ec (:range x -2 -2) x) => () ; correct (list-ec (:range x 1 5 2) x) => (1 3) ; correct (list-ec (:range x 1 6 2) x) => (1 3 5) ; correct (list-ec (:range x 5 1 -2) x) => (5 3) ; correct (list-ec (:range x 6 1 -2) x) => (6 4 2) ; correct (list-ec (:real-range x 0.0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3 1.0) x) => (0.0 1.0 2.0) ; correct (string-ec (:char-range c #\a #\z) c) => "abcdefghijklmnopqrstuvwxyz" ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i) => (0 1 2 3) ; correct (list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j) => (10 9 8 7) ; correct (list-ec (:let x 1) x) => (1) ; correct (list-ec (:let x 1) (:let y (+ x 1)) y) => (2) ; correct (list-ec (:let x 1) (:let x (+ x 1)) x) => (2) ; correct (list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x)) => ((1 a) (2 b) (3 c)) ; correct (list-ec (:while (:range i 1 10) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:range i 1 10) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x) => (1 2 3 4 5) ; correct (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)) => ((1 1) (2 2) (3 3) (4 4)) ; correct (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)) => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct (let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n) => 5 ; correct (list-ec (: c (quote (a b))) c) => (a b) ; correct (list-ec (: c (quote (a b)) (quote (c d))) c) => (a b c d) ; correct (list-ec (: c "ab") c) => (#\a #\b) ; correct (list-ec (: c "ab" "cd") c) => (#\a #\b #\c #\d) ; correct (list-ec (: c (vector (quote a) (quote b))) c) => (a b) ; correct (list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c) => (a b c) ; correct (list-ec (: i 0) i) => () ; correct (list-ec (: i 1) i) => (0) ; correct (list-ec (: i 10) i) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (: i 1 2) i) => (1) ; correct (list-ec (: i 1 2 3) i) => (1) ; correct (list-ec (: i 1 9 3) i) => (1 4 7) ; correct (list-ec (: i 0.0 1.0 0.2) i) => (0.0 0.2 0.4 0.6 0.8) ; correct (list-ec (: c #\a #\c) c) => (#\a #\b #\c) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (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)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:list c (index i) (quote (a b))) (list c i)) => ((a 0) (b 1)) ; correct (list-ec (:string c (index i) "a") (list c i)) => ((#\a 0)) ; correct (list-ec (:vector c (index i) (vector (quote a))) (list c i)) => ((a 0)) ; correct (list-ec (:range i (index j) 0 -3 -1) (list i j)) => ((0 0) (-1 1) (-2 2)) ; correct (list-ec (:real-range i (index j) 0 1 0.2) (list i j)) => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct (list-ec (:char-range c (index i) #\a #\c) (list c i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (: x (index i) (quote (a b c d))) (list x i)) => ((a 0) (b 1) (c 2) (d 3)) ; correct (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))))) => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct (list-ec (: i 5) (* i i)) => (0 1 4 9 16) ; correct (list-ec (: n 1 4) (: i n) (list n i)) => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct (list-ec (: x (index i) "abc") (list x i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (:string c (index i) "a" "b") (cons c i)) => ((#\a . 0) (#\b . 1)) ; correct (list-ec (:range x 5) (:range x x) x) => (0 0 1 0 1 2 0 1 2 3) ; correct (list-ec (:list x (quote (2 "23" (4)))) (: y x) y) => (0 1 #\2 #\3 4) ; correct (list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i)) => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct (factorial 0) => 1 ; correct (factorial 1) => 1 ; correct (factorial 3) => 6 ; correct (factorial 5) => 120 ; correct (eratosthenes 50) => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct (length (eratosthenes 100000)) => 9592 ; correct (pythagoras 15) => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct (length (pythagoras 200)) => 127 ; correct (qsort (quote (1 5 4 2 4 5 3 2 1 3))) => (1 1 2 2 3 3 4 4 5 5) ; correct (pi-BBP 5) => 3.14159265322809 ; correct (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")) => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct correct examples : 163 wrong examples : 0 ======================================== hash-table tests ... SRFI 69 procedures HT - No Parameters HT - Test Parameter HT - Number Test Parameter HT - All Optional Parameters HT - All Parameters HT - Insert with setter HT - Insert with update! HT - A-List HT - set! overwrites HT - Delete HT - Remove HT - Make from A-List HT - Merge! HT - Merge HT - Map HT - Fold HT - Built-in string hash function HT - After overwriting 'string-hash' should still work HT - custom hash function HT - out of bounds value is caught Hash collision weaknesses HT - Stress Insert 100000 Fixnum Key Items 0.327s CPU time, 0.063s GC time (major), 258687/257028 mutations (total/tracked), 5/1020 GCs (major/minor), maximum live heap: 7.27 MiB HT - Stress Retrieve 100000 Fixnum Key Items 0.123s CPU time, 16/0 mutations (total/tracked), 0/687 GCs (major/minor), maximum live heap: 7.27 MiB HT - copy ((1 a) (2 b) (3 c)) -- ((3 c) (2 b) (1 a)) HT - recursive depth/length 414580994 111869694 56715518 188147105 ======================================== port tests ... (PASS) Initially, output string is empty (PASS) output can be extracted from output string (PASS) closing a string output port has no effect on the returned data (PASS) writing to a closed string output port is an error slow... 0.26s CPU time, 15924/2656 mutations (total/tracked), 1/1190 GCs (major/minor), maximum live heap: 603.25 KiB fast... 0.004s CPU time, 56/14 mutations (total/tracked), maximum live heap: 602.91 KiB Procedures check on TCP ports being closed tcp-addresses...OK tcp-port-numbers...OK tcp-abandon-port...OK Procedures check on output ports being closed write...OK fprintf...OK print-call-chain...OK print-error-message...OK print...OK print*...OK display...OK terminal-port?...OK newline...OK write-char...OK write-line...OK write-u8vector...OK flush-output...OK file-test-lock...OK file-lock...OK file-lock/blocking...OK write-byte...OK write-string...OK Procedures check on input ports being closed read...OK read-char...OK char-ready?...OK peek-char...OK terminal-port?...OK read-line...OK read-u8vector...OK read-u8vector!...OK file-test-lock...OK file-lock...OK file-lock/blocking...OK read-byte...OK read-token...OK read-string...OK read-string!...OK Embedded NUL bytes in filenames are rejected read-line string port position tests: (PASS) advance row when encountering delim (PASS) reaching limit sets col to limit, and does not advance row (PASS) delimiter counted in limit (PASS) EOF reached read-string!: (PASS) peek-char won't influence the result of read-string! (PASS) read-string! won't read past buffer if given #f (PASS) read-string! reads the requested bytes with #f (PASS) read-string! won't read past buffer if given #f and offset (PASS) read-string! reads the requested bytes with #f and offset (PASS) read-string! reads until the end correctly (PASS) read-string! leaves the buffer's tail intact (PASS) after peek-char at EOF, read-string! doesn't mutate the buffer (PASS) read-string! won't read past buffer if given size (PASS) read-string! reads the requested bytes with buffer size (PASS) read-string! won't read past buffer if given size and offset (PASS) read-string! reads the requested bytes with buffer size and offset (PASS) read-string! reads until the end correctly with buffer size (PASS) read-string! leaves the buffer's tail intact (PASS) read-string! at EOF reads nothing (PASS) read-string! at EOF doesn't mutate the buffer line endings: string port: (PASS) \n (PASS) \r (PASS) \r\n (PASS) eof file port: (PASS) \n (PASS) \r (PASS) \r\n (PASS) eof custom port: (PASS) \n (PASS) \r (PASS) \r\n (PASS) eof 36 tests completed in 0.572 seconds 36 (100.00%) tests passed 0 (0.00%) tests failed ======================================== fixnum tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'fixnum-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== string->number tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'numbers-string-conversion-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o -> Simple integers ----------------------------------------------------- OK ("1" 1) OK ("+1" 1 "1") OK ("-1" -1) OK ("#i1" 1.0 "1.0" "1.") OK ("#I1" 1.0 "1.0" "1.") OK ("#i-1" -1.0 "-1.0" "-1.") OK ("123\x00456" #f) OK ("-#i1" #f) OK ("+-1" #f) OK ("" #f) OK ("-" #f) OK ("+" #f) OK ("+-" #f) -> Basic decimal notation ----------------------------------------------------- OK ("1.0" 1.0 "1.") OK ("1." 1.0 "1.0" "1.") OK ("1.#" 1.0 1.5 "1.0" "1." "1.5") OK (".1" 0.1 "0.1" "100.0e-3") OK ("-.1" -0.1 "-0.1" "-100.0e-3") OK ("-.0" -0.0 "-0." "-0.0" "0.0" "0." ".0") OK ("-0." -0.0 "-.0" "-0.0" "0.0" "0." ".0") OK ("." #f) OK (".1." #f) OK ("..1" #f) OK ("1.." #f) OK ("#i1.0" 1.0 "1.0" "1.") OK ("#e1.0" 1 "1") OK ("#e-.0" 0 "0") OK ("#e-0." 0 "0") OK ("-#e.0" #f) -> Decimal notation with padding ----------------------------------------------------- OK ("1#" 10.0 15.0 "10.0" "15.0" "10." "15.") OK ("#e1#" 10 15 "10" "15") OK ("#E1#" 10 15 "10" "15") OK ("#1" #f) OK ("#" #f) OK ("1#2" #f) OK ("1.#2" #f) OK (".#" #f) OK ("#.#" #f) OK ("#.1" #f) OK ("1#.2" #f) OK ("1#." 10.0 15.0 "10.0" "15.0" "10." "15.") -> Decimal notation with suffix ----------------------------------------------------- OK ("1e2" 100.0 "100.0" "100.") OK ("1E2" 100.0 "100.0" "100.") OK ("1s2" 100.0 "100.0" "100.") OK ("1S2" 100.0 "100.0" "100.") OK ("1f2" 100.0 "100.0" "100.") OK ("1F2" 100.0 "100.0" "100.") OK ("1d2" 100.0 "100.0" "100.") OK ("1D2" 100.0 "100.0" "100.") OK ("1l2" 100.0 "100.0" "100.") OK ("1L2" 100.0 "100.0" "100.") OK ("1e2e3" #f) OK ("1e2s3" #f) OK ("1e2.0" #f) -> Decimal notation with suffix and padding ----------------------------------------------------- OK ("1#e2" 1000.0 1500.0 "1000.0" "1500.0" "1000." "1500." "1.0e3" "15.0e2") OK ("1e2#" #f) -> NaN, Inf, negative zero ----------------------------------------------------- OK ("+nan.0" +nan.0 "+NaN.0") OK ("+NAN.0" +nan.0 "+nan.0" "+NaN.0") OK ("+nan.1" #f) OK ("+nan.01" #f) OK ("+inf.0" +inf.0 "+Inf.0") OK ("+InF.0" +inf.0 "+inf.0" "+Inf.0") OK ("-inf.0" -inf.0 "-Inf.0") OK ("-iNF.0" -inf.0 "-inf.0" "-Inf.0") OK ("+inf.01" #f) OK ("+inf.1" #f) OK ("-inf.01" #f) OK ("-inf.1" #f) OK ("+inf.0/1" #f) OK ("1/+inf.0" #f) OK ("#e+nan.0" #f) OK ("#e+inf.0" #f) OK ("#e-inf.0" #f) OK ("#i+nan.0" +nan.0 "+nan.0" "+NaN.0") OK ("#i+inf.0" +inf.0 "+inf.0" "+Inf.0") OK ("#i-inf.0" -inf.0 "-inf.0" "-Inf.0") OK ("-0.0" -0.0 "-.0" "-0.") OK ("+nan" #f) OK ("+inf" #f) OK ("-inf" #f) OK ("nan.0" #f) OK ("inf.0" #f) -> Fractions ----------------------------------------------------- OK ("1/2" 0.5 "0.5" ".5" "500.0e-3") OK ("#e1/2" #f) OK ("10/2" 5.0 "5.0" "5.") OK ("#i10/2" 5.0 "5.0" "5.") OK ("-1/2" -0.5 "-0.5" "-.5" "-500.0e-3") OK ("1/-2" #f) OK ("10/0" +inf.0 "+inf.0") OK ("0/10" -0.0 "0.0" "0.") OK ("#e0/10" 0 "0") OK ("#e1#/2" 5 "5") OK ("#e1/2#" #f) OK ("1.0/2" #f) OK ("1/2.0" #f) OK ("1/2e2" #f) OK ("1/2e2" #f) OK ("1#/2" 5.0 7.5 "5.0" "5." "7.5") OK ("1/2#" 0.05 "0.05" ".05" "50.0e-3" "5.e-002") OK ("#i3/2" 1.5 "1.5") OK ("1#/#" #f) OK ("1/" #f) OK ("1/+" #f) OK ("+/1" #f) OK ("/1" #f) OK ("/" #f) OK ("#i1/0" +inf.0 "+inf.0" "+Inf.0") OK ("#i-1/0" -inf.0 "-inf.0" "-Inf.0") OK ("#i0/0" +nan.0 "+nan.0" "+NaN.0") -> Some invalid complex numbers syntax (not supported at all) ----------------------------------------------------- OK ("2i" #f) OK ("+-i" #f) OK ("i" #f) OK ("1+2i1" #f) OK ("1+2" #f) OK ("1#+#i" #f) -> Base prefixes ----------------------------------------------------- OK ("#x11" 17 "17") OK ("#X11" 17 "17") OK ("#d11" 11 "11") OK ("#D11" 11 "11") OK ("#o11" 9 "9") OK ("#O11" 9 "9") OK ("#b11" 3 "3") OK ("#B11" 3 "3") OK ("#da1" #f) OK ("#o8" #f) OK ("#b2" #f) OK ("#o7" 7 "7") OK ("#xa" 10 "10") OK ("#xA" 10 "10") OK ("#xf" 15 "15") OK ("#xg" #f) OK ("#x-10" -16 "-16") OK ("#d-10" -10 "-10") OK ("#o-10" -8 "-8") OK ("#b-10" -2 "-2") OK ("-#x10" #f) OK ("-#d10" #f) OK ("-#o10" #f) OK ("-#b10" #f) OK ("#x-" #f) OK ("#x" #f) OK ("#d" #f) OK ("#d-" #f) OK ("#d+" #f) OK ("#o" #f) OK ("#o-" #f) OK ("#b" #f) OK ("#b-" #f) OK ("#e" #f) OK ("#e-" #f) OK ("#i" #f) OK ("#i-" #f) -> Combination of prefixes ----------------------------------------------------- OK ("#x#x11" #f) OK ("#x#b11" #f) OK ("#b#o11" #f) OK ("#e#x10" 16 "16") OK ("#i#x10" 16.0 "16.0" "16.") OK ("#e#e10" #f) OK ("#e#e#x10" #f) OK ("#E#e#X10" #f) OK ("#i#e#x10" #f) OK ("#e#x#e10" #f) OK ("#x#x#e10" #f) OK ("#x#e#x10" #f) -> Base prefixes with padding ----------------------------------------------------- OK ("#x1#0" #f) OK ("#d1#0" #f) OK ("#o1#0" #f) OK ("#b1#0" #f) OK ("#x1#" 16.0 24.0 "16.0" "24.0" "16." "24.") OK ("#d1#" 10.0 15.0 "10.0" "15.0" "10." "15.") OK ("#o1#" 8.0 12.0 "8.0" "12.0" "8." "12.") OK ("#b1#" 2.0 3.0 "2.0" "3.0" "2." "3.") -> (Attempted) decimal notation with base prefixes ----------------------------------------------------- OK ("#x1.0" #f) OK ("#d1.0" 1.0 "1.0" "1.") OK ("#o1.0" #f) OK ("#b1.0" #f) OK ("#x1.#" #f) OK ("#d1.#" 1.0 1.5 "1.0" "1.5" "1.") OK ("#o1.#" #f) OK ("#b1.#" #f) OK ("#x1." #f) OK ("#d1." 1.0 "1.0" "1.") OK ("#o1." #f) OK ("#b1." #f) OK ("#x.1" #f) OK ("#d.1" 0.1 "0.1" ".1" "100.0e-3") OK ("#o.1" #f) OK ("#b.1" #f) OK ("#x1e2" 482 "482") OK ("#d1e2" 100.0 "100.0" "100.") OK ("#o1e2" #f) OK ("#b1e2" #f) -> Fractions with prefixes ----------------------------------------------------- OK ("#x10/2" 8.0 "8.0" "8.") OK ("#x11/2" 8.5 "8.5") OK ("#d11/2" 5.5 "5.5") OK ("#o11/2" 4.5 "4.5") OK ("#b11/10" 1.5 "1.5") OK ("#b11/2" #f) OK ("#x10/#o10" #f) OK ("10/#o10" #f) OK ("#x1#/2" 8.0 12.0 "8.0" "8." "12.0" "12.") OK ("#d1#/2" 5.0 7.5 "5.0" "5." "7.5") OK ("#o1#/2" 4.0 6.0 "4.0" "4." "6.0" "6.") OK ("#b1#/2" #f) OK ("#b1#/10" 1.0 1.5 "1.0" "1." "1.5") -----> Everything OK, no errors! ======================================== srfi-4 tests ... #u8(100 101) #u16(100 101) #u32(100 101) #s8(100 101) #s16(100 101) #s32(100 101) #f32(100.0 101.0) #f64(100.0 101.0) ======================================== srfi-13 tests ... string-null?..........................................................[ok] string-null?..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-every..........................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-any............................................................[ok] string-tabulate.......................................................[ok] string-tabulate.......................................................[ok] reverse-list->string..................................................[ok] reverse-list->string..................................................[ok] substring/shared......................................................[ok] substring/shared......................................................[ok] string-copy!..........................................................[ok] string-copy!..........................................................[ok] string-copy!..........................................................[ok] string-copy!: overlapping src and dest, moving right..................[ok] string-copy!: overlapping src and dest, moving left...................[ok] string-take...........................................................[ok] string-take...........................................................[ok] string-take...........................................................[ok] string-drop...........................................................[ok] string-drop...........................................................[ok] string-drop...........................................................[ok] string-take-right.....................................................[ok] string-take-right.....................................................[ok] string-take-right.....................................................[ok] string-drop-right.....................................................[ok] string-drop-right.....................................................[ok] string-drop-right.....................................................[ok] string-pad............................................................[ok] string-pad............................................................[ok] string-pad............................................................[ok] string-pad............................................................[ok] string-pad............................................................[ok] string-pad............................................................[ok] string-pad-right......................................................[ok] string-pad-right......................................................[ok] string-pad-right......................................................[ok] string-pad-right......................................................[ok] string-pad-right......................................................[ok] string-pad-right......................................................[ok] string-trim...........................................................[ok] string-trim...........................................................[ok] string-trim...........................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-both......................................................[ok] string-trim-both......................................................[ok] string-trim-both......................................................[ok] string-compare........................................................[ok] string-compare-ci.....................................................[ok] string-prefix-length..................................................[ok] string-prefix-length-ci...............................................[ok] string-suffix-length..................................................[ok] string-suffix-length-ci...............................................[ok] string-prefix?........................................................[ok] string-prefix?........................................................[ok] string-prefix-ci?.....................................................[ok] string-prefix-ci?.....................................................[ok] string-suffix?........................................................[ok] string-suffix?........................................................[ok] string-suffix-ci?.....................................................[ok] string-suffix-ci?.....................................................[ok] string-index #1.......................................................[ok] string-index #2.......................................................[ok] string-index #3.......................................................[ok] string-index #4.......................................................[ok] string-index-right #1.................................................[ok] string-index-right #2.................................................[ok] string-index-right #3.................................................[ok] string-index-right #4.................................................[ok] string-count #1.......................................................[ok] string-count #2.......................................................[ok] string-count #3.......................................................[ok] string-count #4.......................................................[ok] string-contains.......................................................[ok] string-contains.......................................................[ok] string-contains-ci....................................................[ok] string-contains-ci....................................................[ok] string-titlecase......................................................[ok] string-titlecase......................................................[ok] string-titlecase!.....................................................[ok] string-upcase.........................................................[ok] string-upcase.........................................................[ok] string-upcase!........................................................[ok] string-downcase.......................................................[ok] string-downcase.......................................................[ok] string-downcase!......................................................[ok] string-reverse........................................................[ok] string-reverse........................................................[ok] string-reverse........................................................[ok] string-reverse!.......................................................[ok] string-reverse!.......................................................[ok] string-reverse!.......................................................[ok] string-append.........................................................[ok] string-concatenate....................................................[ok] string-concatenate....................................................[ok] string-concatenate/shared.............................................[ok] string-concatenate-reverse............................................[ok] string-concatenate-reverse............................................[ok] string-concatenate-reverse/shared.....................................[ok] string-map............................................................[ok] string-map............................................................[ok] string-map............................................................[ok] string-map!...........................................................[ok] string-map!...........................................................[ok] string-map!...........................................................[ok] string-fold...........................................................[ok] string-fold...........................................................[ok] string-fold-right.....................................................[ok] string-fold-right.....................................................[ok] string-unfold.........................................................[ok] string-unfold.........................................................[ok] string-unfold.........................................................[ok] string-unfold-right...................................................[ok] string-unfold-right...................................................[ok] string-unfold-right...................................................[ok] string-for-each.......................................................[ok] string-for-each.......................................................[ok] string-for-each.......................................................[ok] string-for-each-index.................................................[ok] string-for-each-index.................................................[ok] string-for-each-index.................................................[ok] xsubstring............................................................[ok] xsubstring............................................................[ok] xsubstring............................................................[ok] xsubstring............................................................[ok] xsubstring............................................................[ok] string-xcopy!.........................................................[ok] string-xcopy!.........................................................[ok] string-replace........................................................[ok] string-replace........................................................[ok] string-replace........................................................[ok] string-replace........................................................[ok] string-replace........................................................[ok] string-tokenize.......................................................[ok] string-tokenize.......................................................[ok] string-tokenize.......................................................[ok] string-tokenize.......................................................[ok] string-filter.........................................................[ok] string-filter.........................................................[ok] string-filter.........................................................[ok] string-filter.........................................................[ok] string-delete.........................................................[ok] string-delete.........................................................[ok] string-delete.........................................................[ok] string-delete.........................................................[ok] string-hash...........................................................[ok] string-hash...........................................................[ok] string-hash...........................................................[ok] string-hash-ci........................................................[ok] string-hash-ci........................................................[ok] string=...............................................................[ok] string=...............................................................[ok] string=...............................................................[ok] string=...............................................................[ok] string<>..............................................................[ok] string<>..............................................................[ok] string<>..............................................................[ok] string<>..............................................................[ok] string<=..............................................................[ok] string<=..............................................................[ok] string<=..............................................................[ok] string<=..............................................................[ok] string<...............................................................[ok] string<...............................................................[ok] string<...............................................................[ok] string<...............................................................[ok] string>=..............................................................[ok] string>=..............................................................[ok] string>=..............................................................[ok] string>=..............................................................[ok] string>...............................................................[ok] string>...............................................................[ok] string>...............................................................[ok] string>...............................................................[ok] string-ci=............................................................[ok] string-ci=............................................................[ok] string-ci=............................................................[ok] string-ci=............................................................[ok] string-ci<>...........................................................[ok] string-ci<>...........................................................[ok] string-ci<>...........................................................[ok] string-ci<>...........................................................[ok] string-ci<=...........................................................[ok] string-ci<=...........................................................[ok] string-ci<=...........................................................[ok] string-ci<=...........................................................[ok] string-ci<............................................................[ok] string-ci<............................................................[ok] string-ci<............................................................[ok] string-ci<............................................................[ok] string-ci>=...........................................................[ok] string-ci>=...........................................................[ok] string-ci>=...........................................................[ok] string-ci>=...........................................................[ok] string-ci>............................................................[ok] string-ci>............................................................[ok] string-ci>............................................................[ok] string-ci>............................................................[ok] string=?..............................................................[ok] string-parse-start+end................................................[ok] string-parse-start+end................................................[ok] string-parse-start+end................................................[ok] string-parse-start+end................................................[ok] check-substring-spec..................................................[ok] check-substring-spec..................................................[ok] substring-spec-ok?....................................................[ok] substring-spec-ok?....................................................[ok] make-kmp-restart-vector...............................................[ok] make-kmp-restart-vector...............................................[ok] make-kmp-restart-vector...............................................[ok] make-kmp-restart-vector...............................................[ok] KMP step 0 (exp: 0, act: 0), case: ("abc" "xx" #f 0 0)................[ok] KMP step 1 (exp: 0, act: 0), case: ("abc" "xx" #f 0 0)................[ok] KMP match? #f, case: ("abc" "xx" #f 0 0)..............................[ok] KMP empty remaining steps: (), case: ("abc" "xx" #f 0 0)..............[ok] KMP step 0 (exp: 0, act: 0), case: ("abc" "abc" #t 0 1 2).............[ok] KMP step 1 (exp: 1, act: 1), case: ("abc" "abc" #t 0 1 2).............[ok] KMP step 2 (exp: 2, act: 2), case: ("abc" "abc" #t 0 1 2).............[ok] KMP match? #t, case: ("abc" "abc" #t 0 1 2)...........................[ok] KMP empty remaining steps: (), case: ("abc" "abc" #t 0 1 2)...........[ok] KMP step 0 (exp: 0, act: 0), case: ("abcd" "abc" #f 0 1 2)............[ok] KMP step 1 (exp: 1, act: 1), case: ("abcd" "abc" #f 0 1 2)............[ok] KMP step 2 (exp: 2, act: 2), case: ("abcd" "abc" #f 0 1 2)............[ok] KMP match? #f, case: ("abcd" "abc" #f 0 1 2)..........................[ok] KMP empty remaining steps: (), case: ("abcd" "abc" #f 0 1 2)..........[ok] KMP step 0 (exp: 0, act: 0), case: ("abc" "abcd" #t 0 1 2)............[ok] KMP step 1 (exp: 1, act: 1), case: ("abc" "abcd" #t 0 1 2)............[ok] KMP step 2 (exp: 2, act: 2), case: ("abc" "abcd" #t 0 1 2)............[ok] KMP match? #t, case: ("abc" "abcd" #t 0 1 2)..........................[ok] KMP empty remaining steps: (), case: ("abc" "abcd" #t 0 1 2)..........[ok] KMP step 0 (exp: 0, act: 0), case: ("abc" "aabc" #t 0 1 1 2)..........[ok] KMP step 1 (exp: 1, act: 1), case: ("abc" "aabc" #t 0 1 1 2)..........[ok] KMP step 2 (exp: 1, act: 1), case: ("abc" "aabc" #t 0 1 1 2)..........[ok] KMP step 3 (exp: 2, act: 2), case: ("abc" "aabc" #t 0 1 1 2)..........[ok] KMP match? #t, case: ("abc" "aabc" #t 0 1 1 2)........................[ok] KMP empty remaining steps: (), case: ("abc" "aabc" #t 0 1 1 ..........[ok] KMP step 0 (exp: 0, act: 0), case: ("ab" "aa" #f 0 1).................[ok] KMP step 1 (exp: 1, act: 1), case: ("ab" "aa" #f 0 1).................[ok] KMP match? #f, case: ("ab" "aa" #f 0 1)...............................[ok] KMP empty remaining steps: (), case: ("ab" "aa" #f 0 1)...............[ok] KMP step 0 (exp: 0, act: 0), case: ("ab" "aab" #t 0 1 1)..............[ok] KMP step 1 (exp: 1, act: 1), case: ("ab" "aab" #t 0 1 1)..............[ok] KMP step 2 (exp: 1, act: 1), case: ("ab" "aab" #t 0 1 1)..............[ok] KMP match? #t, case: ("ab" "aab" #t 0 1 1)............................[ok] KMP empty remaining steps: (), case: ("ab" "aab" #t 0 1 1)............[ok] KMP step 0 (exp: 0, act: 0), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 1 (exp: 1, act: 1), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 2 (exp: 2, act: 2), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 3 (exp: 3, act: 3), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 4 (exp: 0, act: 0), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 5 (exp: 0, act: 0), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 6 (exp: 1, act: 1), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 7 (exp: 2, act: 2), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP step 8 (exp: 3, act: 3), case: ("abdabx" "abdbbabda" #f ..........[ok] KMP match? #f, case: ("abdabx" "abdbbabda" #f 0 1 2 3 0 0 1 ..........[ok] KMP empty remaining steps: (), case: ("abdabx" "abdbbabda" #..........[ok] KMP step 0 (exp: 0, act: 0), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP step 1 (exp: 1, act: 1), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP step 2 (exp: 0, act: 0), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP step 3 (exp: 1, act: 1), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP step 4 (exp: 2, act: 2), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP step 5 (exp: 3, act: 3), case: ("aabc" "axaabc" #t 0 1 0..........[ok] KMP match? #t, case: ("aabc" "axaabc" #t 0 1 0 1 2 3).................[ok] KMP empty remaining steps: (), case: ("aabc" "axaabc" #t 0 1..........[ok] KMP step 0 (exp: 0, act: 0), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 1 (exp: 1, act: 1), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 2 (exp: 2, act: 2), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 3 (exp: 3, act: 3), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 4 (exp: 4, act: 4), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 5 (exp: 2, act: 2), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 6 (exp: 3, act: 3), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP step 7 (exp: 4, act: 4), case: ("aabac" "aabaabac" #t 0 ..........[ok] KMP match? #t, case: ("aabac" "aabaabac" #t 0 1 2 3 4 2 3 4)..........[ok] KMP empty remaining steps: (), case: ("aabac" "aabaabac" #t ..........[ok] string-contains.......................................................[ok] string-contains.......................................................[ok] string-contains-ci....................................................[ok] string-contains.......................................................[ok] string=? + string-filter..............................................[ok] string=? + string-delete..............................................[ok] string-index-right....................................................[ok] string-skip-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] string-trim-right.....................................................[ok] ======================================== srfi-14 tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'srfi-14-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. Note: at toplevel: (srfi-14-tests.scm:13) in procedure call to `char-set?', the predicate is called with an argument of type `fixnum' and will always return false Note: at toplevel: (srfi-14-tests.scm:15) in procedure call to `char-set?', the predicate is called with an argument of type `(struct char-set)' and will always return true 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o ======================================== condition tests ... ======================================== srfi-18 tests ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # sleeps ... # finished. # sleeps ... # sleeps ... # finished. # waits ... # sleeps ... # sleeps ... end. /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'srfi-18-signal-test.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o Testing correct handling of thread-join! with external signals:.... thread terminated gracefully, this is good thread-join with timeout: ....timeout exception as expected thread-join with return value:.... done. ======================================== data-structures tests ... ======================================== path tests ... / / abc abc abc abc abc /abc /abc /abc /abc /abc q/abc q/abc q/abc q/abc q/abc . . \..\ \ / / / / . a a a a/ a/b a\b a\b a\b a/b/ a/b/ a/b /a/b /a/b c:a\b c:/a/b c:a\b c:b c:\b a/b a/b a/b/ ../../foo c:\ c:\ c:\ c:\ ~/foo c:~/foo c:~\foo (#f / (.)) (#f / (\)) (#f / (foo)) (#f / (foo bar)) (#f #f (.)) (#f #f (. foo)) (#f #f ( foo bar)) (#f #f (foo bar)) (#f #f #f) (/ #f #f) (#f \ #f) (/ a #f) (#f \a #f) (/ #f #f) (#f \\\ #f) (/ a #f) (#f \\\a #f) (/a b #f) (#f \a\b #f) (/a b c) (#f \a\b c) (. a #f) (#f .\a #f) (. a b) (#f .\a b) (./a b #f) (#f .\a\b #f) (#f a #f) (#f a. #f) (#f .a #f) (a b #f) (#f a\b #f) (a b #f) (#f a\\\b #f) (a/b c #f) (#f a\b\c #f) (a/b/c #f #f) (#f a\b\c\ #f) (a/b/c #f #f) (#f a\b\c\\\ #f) (#f a b) (a.b #f #f) (#f a b\) (#f a.b c) (#f a. b) (#f a.. b) (a. .b #f) (#f a.\ b) x/y/z.q x/y/z.q x/y/z.q x/y/z.q x/y\/z.q x//y/z.q x\y/z.q error /x/y/z /x/y/z /x/y/z /x/y/z /x/y/z /x/y/z /x/y/z/ ======================================== srfi-45 tests ... (PASS) Memoization test 1 (PASS) Memoization test 2 (PASS) Memoization test 3 (PASS) Memoization test 4 (PASS) Reentrancy test 1 (1) (PASS) Reentrancy test 1 (2) (PASS) Reentrancy test 2 (PASS) Reentrancy test 3 (1) (PASS) Reentrancy test 3 (2) (PASS) Reentrancy test 3 (3) ======================================== posix tests ... /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/../chicken 'posix-tests.scm' -output-file 'a.c' -types ../types.db -ignore-repository -verbose -include-path /data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. 'gcc' 'a.c' -o 'a.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -I/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -I/data/data/com.termux/files/home/chickens/4.12.0RC1//include/chicken rm a.c 'gcc' 'a.o' -o 'a.out' -L/data/data/com.termux/files/home/sources/packages/chicken-4.12.0rc1/tests/.. -L/data/data/com.termux/files/home/chickens/4.12.0RC1//lib -lchicken -lm -ldl -llog rm a.o err Error: (posix-tests.scm:71) assertion failed: (not (get-environment-variable "FOO")) Call history: posix-tests.scm:54: blob=? posix-tests.scm:55: unmap-file-from-memory posix-tests.scm:56: file-close posix-tests.scm:57: delete-file* posix-tests.scm:59: create-temporary-directory posix-tests.scm:60: make-pathname posix-tests.scm:61: create-directory posix-tests.scm:62: directory-exists? posix-tests.scm:63: delete-directory posix-tests.scm:64: directory-exists? posix-tests.scm:65: directory-exists? posix-tests.scm:68: setenv posix-tests.scm:69: get-environment-variable posix-tests.scm:70: unsetenv posix-tests.scm:71: get-environment-variable posix-tests.scm:71: ##sys#error <-- make: *** [rules.make:663: check] Error 70