source: project/chicken/trunk/tests/runtests.sh @ 12939

Last change on this file since 12939 was 12939, checked in by felix winkelmann, 12 years ago

added finalizable GC roots, as suggested by Alejandro

File size: 4.3 KB
Line 
1#!/bin/sh
2# runtests.sh
3
4set -e
5TEST_DIR=`pwd`
6export DYLD_LIBRARY_PATH=${TEST_DIR}/..
7export LD_LIBRARY_PATH=${TEST_DIR}/..
8compile="../csc -compiler ../chicken -v -I.. -L.. -include-path .. -o a.out"
9compile_s="../csc -s -compiler ../chicken -v -I.. -L.. -include-path .."
10interpret="../csi -include-path .."
11
12echo "======================================== compiler tests ..."
13$compile compiler-tests.scm && ./a.out
14
15echo "======================================== compiler tests (2) ..."
16$compile compiler-tests.scm -lambda-lift && ./a.out
17
18echo "======================================== runtime tests ..."
19$interpret -s apply-test.scm
20$compile test-gc-hooks.scm && ./a.out
21
22echo "======================================== library tests ..."
23$interpret -s library-tests.scm
24
25echo "======================================== syntax tests ..."
26$interpret -s syntax-tests.scm
27
28echo "======================================== syntax tests (compiled) ..."
29$compile syntax-tests.scm && ./a.out
30
31echo "======================================== syntax tests (2, compiled) ..."
32$compile syntax-tests-2.scm && ./a.out
33
34echo "======================================== import library tests ..."
35rm -f foo.import.*
36$compile import-library-test1.scm -emit-import-library foo
37$interpret -s import-library-test2.scm
38$compile_s -s foo.import.scm -o foo.import.so
39$interpret -s import-library-test2.scm
40$compile import-library-test2.scm && ./a.out
41
42echo "======================================== syntax tests (matchable) ..."
43$interpret matchable.scm -s match-test.scm
44
45echo "======================================== syntax tests (loopy-loop) ..."
46$interpret -s loopy-test.scm
47
48echo "======================================== syntax tests (r5rs_pitfalls) ..."
49$interpret -i -s r5rs_pitfalls.scm
50
51echo "======================================== module tests ..."
52$interpret -include-path .. -s module-tests.scm
53
54echo "======================================== module tests (compiled) ..."
55$compile module-tests-compiled.scm && ./a.out
56
57echo "======================================== module tests (chained) ..."
58rm -f m*.import.* test-chained-modules.so
59$interpret -bnq test-chained-modules.scm
60$compile_s test-chained-modules.scm -j m3
61$compile_s m3.import.scm
62$interpret -bn test-chained-modules.so
63$interpret -bn test-chained-modules.so -e '(import m3) (s3)'
64
65echo "======================================== module tests (ec) ..."
66rm -f ec.so ec.import.*
67$interpret -bqn ec.scm ec-tests.scm
68$compile_s ec.scm -emit-import-library ec -o ec.so
69$compile_s ec.import.scm -o ec.import.so
70$interpret -bnq ec.so ec-tests.scm
71# $compile ec-tests.scm && ./a.out        # takes ages to compile
72
73echo "======================================== hash-table tests ..."
74$interpret -s hash-table-tests.scm
75
76echo "======================================== port tests ..."
77$interpret -s port-tests.scm
78
79echo "======================================== fixnum tests ..."
80$compile fixnum-tests.scm && ./a.out
81
82echo "======================================== srfi-18 tests ..."
83$interpret -s srfi-18-tests.scm
84
85echo "======================================== path tests ..."
86$compile path-tests.scm && ./a.out
87
88echo "======================================== regular expression tests ..."
89$interpret -bnq test-irregex.scm
90
91echo "======================================== r4rstest ..."
92$interpret -e '(set! ##sys#procedure->string (constantly "#<procedure>"))' \
93  -i -s r4rstest.scm >r4rstest.log
94diff -u r4rstest.out r4rstest.log
95
96echo "======================================== finalizer tests ..."
97$interpret -s test-finalizers.scm
98
99echo "======================================== finalizer tests (2) ..."
100$compile test-finalizers-2.scm && ./a.out
101
102echo "======================================== locative stress test ..."
103$compile locative-stress-test.scm && ./a.out
104
105echo "======================================== embedding (1) ..."
106$compile embedded1.c && ./a.out
107
108echo "======================================== embedding (2) ..."
109$compile -e embedded2.scm && ./a.out
110
111echo "======================================== benchmarks ..."
112cd ../benchmarks
113for x in `ls *.scm`; do
114    case $x in
115        "cscbench.scm");;
116        "plists.scm");;
117        *)
118            echo $x
119            ../csc $x -compiler ../chicken -C -I.. -L.. -O2 -d0
120            ./`basename $x .scm`;;
121    esac
122done
123cd ${TEST_DIR}
124
125echo "======================================== done."
Note: See TracBrowser for help on using the repository browser.