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

Last change on this file since 14828 was 14828, checked in by felix winkelmann, 10 years ago

merged scrutiny branch

File size: 5.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}/..
8
9CHICKEN=../chicken
10
11if test -n "$MSYSTEM"; then
12    CHICKEN="..\\chicken.exe"
13fi
14
15compile="../csc -compiler $CHICKEN -v -I.. -L.. -include-path .. -o a.out"
16compile_s="../csc -s -compiler $CHICKEN -v -I.. -L.. -include-path .."
17interpret="../csi -n -include-path .."
18
19echo "======================================== compiler tests ..."
20$compile compiler-tests.scm
21./a.out
22
23echo "======================================== compiler tests (2) ..."
24$compile compiler-tests.scm -lambda-lift
25./a.out
26
27echo "======================================== scrutiny tests ..."
28$compile scrutiny-tests.scm -scrutinize -analyze-only -ignore-repository -types ../types.db 2>scrutiny.out
29diff -u scrutiny.out scrutiny.expected || exit 1
30
31echo "======================================== runtime tests ..."
32$interpret -s apply-test.scm
33$compile test-gc-hooks.scm
34./a.out
35
36echo "======================================== library tests ..."
37$interpret -s library-tests.scm
38
39echo "======================================== syntax tests ..."
40$interpret -s syntax-tests.scm
41
42echo "======================================== syntax tests (compiled) ..."
43$compile syntax-tests.scm
44./a.out
45
46echo "======================================== syntax tests (2, compiled) ..."
47$compile syntax-tests-2.scm
48./a.out
49
50#echo "======================================== meta-syntax tests ..."
51#$interpret -bnq meta-syntax-test.scm -e '(import foo)' -e '(bar 1 2)'
52#$compile_s -s meta-syntax-test.scm -j foo
53#$compile_s -s foo.import.scm
54#$interpret -bnq -e '(require-library meta-syntax-test)' -e '(import foo)' -e '(bar 1 2)'
55
56echo "======================================== import library tests ..."
57rm -f foo.import.*
58$compile import-library-test1.scm -emit-import-library foo
59$interpret -s import-library-test2.scm
60$compile_s -s foo.import.scm -o foo.import.so
61$interpret -s import-library-test2.scm
62$compile import-library-test2.scm
63./a.out
64
65echo "======================================== syntax tests (matchable) ..."
66$interpret matchable.scm -s match-test.scm
67
68echo "======================================== syntax tests (loopy-loop) ..."
69$interpret -s loopy-test.scm
70
71echo "======================================== syntax tests (r5rs_pitfalls) ..."
72$interpret -i -s r5rs_pitfalls.scm
73
74echo "======================================== module tests ..."
75$interpret -include-path .. -s module-tests.scm
76
77echo "======================================== module tests (compiled) ..."
78$compile module-tests-compiled.scm
79./a.out
80
81echo "======================================== module tests (chained) ..."
82rm -f m*.import.* test-chained-modules.so
83$interpret -bnq test-chained-modules.scm
84$compile_s test-chained-modules.scm -j m3
85$compile_s m3.import.scm
86$interpret -bn test-chained-modules.so
87$interpret -bn test-chained-modules.so -e '(import m3) (s3)'
88
89echo "======================================== module tests (ec) ..."
90rm -f ec.so ec.import.*
91$interpret -bqn ec.scm ec-tests.scm
92$compile_s ec.scm -emit-import-library ec -o ec.so
93$compile_s ec.import.scm -o ec.import.so
94$interpret -bnq ec.so ec-tests.scm
95# $compile ec-tests.scm
96# ./a.out        # takes ages to compile
97
98echo "======================================== hash-table tests ..."
99$interpret -s hash-table-tests.scm
100
101echo "======================================== lolevel tests ..."
102$interpret -s lolevel-tests.scm
103
104echo "======================================== port tests ..."
105$interpret -s port-tests.scm
106
107echo "======================================== fixnum tests ..."
108$compile fixnum-tests.scm
109./a.out
110
111echo "======================================== srfi-18 tests ..."
112$interpret -s srfi-18-tests.scm
113# $interpret -s feeley-dynwind.scm
114
115echo "======================================== path tests ..."
116$compile path-tests.scm
117./a.out
118
119echo "======================================== regular expression tests ..."
120$interpret -bnq test-irregex.scm
121
122echo "======================================== r4rstest ..."
123$interpret -e '(set! ##sys#procedure->string (constantly "#<procedure>"))' \
124  -i -s r4rstest.scm >r4rstest.log
125
126if test -n "$MSYSTEM"; then
127    # the windows runtime library prints flonums differently
128    tail r4rstest.log
129else
130    diff -bu r4rstest.out r4rstest.log || true
131fi
132
133echo "======================================== compiler/nursery stress test ..."
134for s in 100000 120000 200000 250000 300000 350000 400000 450000 500000; do
135    echo $s"
136    ../chicken ../utils.scm -:s$s -output-file tmp.c -include-path ..
137done
138
139echo "======================================== finalizer tests ..."
140$interpret -s test-finalizers.scm
141
142echo "======================================== finalizer tests (2) ..."
143$compile test-finalizers-2.scm
144./a.out
145
146echo "======================================== locative stress test ..."
147$compile locative-stress-test.scm
148./a.out
149
150echo "======================================== embedding (1) ..."
151$compile embedded1.c
152./a.out
153
154echo "======================================== embedding (2) ..."
155$compile -e embedded2.scm
156./a.out
157
158echo "======================================== benchmarks ..."
159cd ../benchmarks
160for x in `ls *.scm`; do
161    case $x in
162        "cscbench.scm");;
163        "plists.scm");;
164        *)
165            echo $x
166            ../csc $x -compiler $CHICKEN -C -I.. -L.. -O3 -d0
167            ./`basename $x .scm`;;
168    esac
169done
170cd ${TEST_DIR}
171
172echo "======================================== done."
Note: See TracBrowser for help on using the repository browser.