023b6c312325aa8c516bec2b07b799c971abf758
[pspp-builds.git] / tests / syntax
1 #! /bin/sh
2 set -e
3 RESULT=pass
4
5 srcdir=${srcdir:-.}
6 for x in `cd $srcdir; echo *.stat *.data`; do 
7     if [ ! -e $x ]; then
8         ln -s $srcdir/$x .
9     fi
10 done
11
12 rm -f *.actual
13 if [ -z "$BENCHMARK" ]; then
14     for x in *.stat; do
15         echo -n "$x ... "
16         ../src/pspp --testing-mode $x >$x.actual
17         if [ -f $srcdir/expect/$x ]; then
18             if diff -u $srcdir/expect/$x $x.actual; then 
19                 echo "pass"; rm $x.actual
20             else 
21                 echo "FAIL"; RESULT=fail
22             fi
23         else
24             if [ -s $x.actual ]; then 
25                 echo "FAIL"; RESULT=fail
26                 diff -u /dev/null $x.actual || true
27             else 
28                 echo "pass"; rm $x.actual
29             fi
30         fi
31     done
32 else
33     mkdir benchmark || true
34     rm -f benchmark/*
35     for x in *.stat; do
36         echo -n "$x ... "
37         ../src/pspp --testing-mode $x > benchmark/$x
38         if [ ! -s benchmark/$x ]; then
39             rm benchmark/$x
40         fi
41         echo
42     done
43 fi
44
45 for x in *.stat *.data; do
46     if [ -h $x ]; then
47         rm $x
48     fi
49 done
50
51 if [ $RESULT = fail ]; then exit 1; fi
52