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

Last change on this file since 12961 was 12961, checked in by felix winkelmann, 11 years ago

build fixes, meta-syntax testing

File size: 4.6 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 "======================================== meta-syntax tests ..."
35$interpret -bnq meta-syntax-test.scm -e '(import foo)' -e '(bar 1 2)'
36$compile_s -s meta-syntax-test.scm -j foo
37$compile_s -s foo.import.scm
38$interpret -bnq -e '(require-library meta-syntax-test)' -e '(import foo)' -e '(bar 1 2)'
39
40echo "======================================== import library tests ..."
41rm -f foo.import.*
42$compile import-library-test1.scm -emit-import-library foo
43$interpret -s import-library-test2.scm
44$compile_s -s foo.import.scm -o foo.import.so
45$interpret -s import-library-test2.scm
46$compile import-library-test2.scm && ./a.out
47
48echo "======================================== syntax tests (matchable) ..."
49$interpret matchable.scm -s match-test.scm
50
51echo "======================================== syntax tests (loopy-loop) ..."
52$interpret -s loopy-test.scm
53
54echo "======================================== syntax tests (r5rs_pitfalls) ..."
55$interpret -i -s r5rs_pitfalls.scm
56
57echo "======================================== module tests ..."
58$interpret -include-path .. -s module-tests.scm
59
60echo "======================================== module tests (compiled) ..."
61$compile module-tests-compiled.scm && ./a.out
62
63echo "======================================== module tests (chained) ..."
64rm -f m*.import.* test-chained-modules.so
65$interpret -bnq test-chained-modules.scm
66$compile_s test-chained-modules.scm -j m3
67$compile_s m3.import.scm
68$interpret -bn test-chained-modules.so
69$interpret -bn test-chained-modules.so -e '(import m3) (s3)'
70
71echo "======================================== module tests (ec) ..."
72rm -f ec.so ec.import.*
73$interpret -bqn ec.scm ec-tests.scm
74$compile_s ec.scm -emit-import-library ec -o ec.so
75$compile_s ec.import.scm -o ec.import.so
76$interpret -bnq ec.so ec-tests.scm
77# $compile ec-tests.scm && ./a.out        # takes ages to compile
78
79echo "======================================== hash-table tests ..."
80$interpret -s hash-table-tests.scm
81
82echo "======================================== port tests ..."
83$interpret -s port-tests.scm
84
85echo "======================================== fixnum tests ..."
86$compile fixnum-tests.scm && ./a.out
87
88echo "======================================== srfi-18 tests ..."
89$interpret -s srfi-18-tests.scm
90
91echo "======================================== path tests ..."
92$compile path-tests.scm && ./a.out
93
94echo "======================================== regular expression tests ..."
95$interpret -bnq test-irregex.scm
96
97echo "======================================== r4rstest ..."
98$interpret -e '(set! ##sys#procedure->string (constantly "#<procedure>"))' \
99  -i -s r4rstest.scm >r4rstest.log
100diff -u r4rstest.out r4rstest.log
101
102echo "======================================== finalizer tests ..."
103$interpret -s test-finalizers.scm
104
105echo "======================================== finalizer tests (2) ..."
106$compile test-finalizers-2.scm && ./a.out
107
108echo "======================================== locative stress test ..."
109$compile locative-stress-test.scm && ./a.out
110
111echo "======================================== embedding (1) ..."
112$compile embedded1.c && ./a.out
113
114echo "======================================== embedding (2) ..."
115$compile -e embedded2.scm && ./a.out
116
117echo "======================================== benchmarks ..."
118cd ../benchmarks
119for x in `ls *.scm`; do
120    case $x in
121        "cscbench.scm");;
122        "plists.scm");;
123        *)
124            echo $x
125            ../csc $x -compiler ../chicken -C -I.. -L.. -O2 -d0
126            ./`basename $x .scm`;;
127    esac
128done
129cd ${TEST_DIR}
130
131echo "======================================== done."
Note: See TracBrowser for help on using the repository browser.