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

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

added nursery stress test to test-suite

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