]> git.sesse.net Git - xml-template/blob - tests/test.sh
cb118beb4e3288f1cbea0f6ef4d2ae51e7e6329f
[xml-template] / tests / test.sh
1 #! /bin/sh
2
3 if [ -z "$TESTS" ]; then
4         TESTS="passthru simple clone include attribute attribute2 attribute3 attribute-empty namespace namespace2 structure"
5 fi
6 if [ -z "$LANGUAGES" ]; then
7         LANGUAGES="perl perl-sax php4 php5 python ruby c++11"
8 fi
9
10 for L in $LANGUAGES; do
11         for T in $TESTS; do
12                 printf "%-35s" "Testing $L/$T..."
13                 TEMPFILE=$( tempfile )
14
15                 if [ "$L" = "perl" ]; then
16                         perl -I../perl ../perl/$T.pl > $TEMPFILE
17                 fi
18                 if [ "$L" = "perl-sax" ]; then
19                         perl -I../perl-sax ../perl-sax/$T.pl > $TEMPFILE
20                 fi
21                 if [ "$L" = "php4" ]; then
22                         php4-cgi -q ../php4/$T.php > $TEMPFILE
23                 fi
24                 if [ "$L" = "php5" ]; then
25                         php5-cgi -q ../php5/$T.php > $TEMPFILE
26                 fi
27                 if [ "$L" = "php5-swig" ]; then
28                         ( cd ../c++11 && make -s && cd ../php5-swig && make -s && sudo cp XML_Template_SWIG.so /usr/lib/php5/20090626+lfs ) && php5-cgi -q ../php5-swig/$T.php > $TEMPFILE
29                 fi
30                 if [ "$L" = "python" ]; then
31                         python ../python/$T.py > $TEMPFILE
32                 fi
33                 if [ "$L" = "ruby" ]; then
34                         ruby -I../ruby ../ruby/$T.rb > $TEMPFILE
35                 fi
36                 if [ "$L" = "c++11" ]; then
37                         ( cd ../c++11 && make -s $T ) && ../c++11/$T > $TEMPFILE
38                 fi
39
40                 perl ./xml-diff.pl $TEMPFILE reference/$T.xml
41                 if [ $? = 0 ]; then     
42                         echo "passed."
43                 fi
44
45                 rm -f $TEMPFILE
46         done
47 done
48