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