Prepend $SUPERVISOR to invocations of pspp so that we
[pspp-builds.git] / tests / command / filter.sh
1 #!/bin/sh
2
3 # This program tests ....
4
5 TEMPDIR=/tmp/pspp-tst-$$
6
7 here=`pwd`;
8
9 # ensure that top_srcdir is absolute
10 cd $top_srcdir; top_srcdir=`pwd`
11
12 export STAT_CONFIG_PATH=$top_srcdir/config
13
14
15 cleanup()
16 {
17      rm -rf $TEMPDIR
18 }
19
20
21 fail()
22 {
23     echo $activity
24     echo FAILED
25     cleanup;
26     exit 1;
27 }
28
29
30 no_result()
31 {
32     echo $activity
33     echo NO RESULT;
34     cleanup;
35     exit 2;
36 }
37
38 pass()
39 {
40     cleanup;
41     exit 0;
42 }
43
44 mkdir -p $TEMPDIR
45
46 cd $TEMPDIR
47
48 activity="create program"
49 cat > $TEMPDIR/filter.stat << EOF
50 data list notable /x 1-2.
51 begin data.
52 1
53 2
54 3
55 4
56 5
57 6
58 7
59 8
60 9
61 10
62 end data.
63 compute filter_$ = mod(x,2).
64
65 filter by filter_$.
66 list.
67 filter off.
68 list.
69 compute filter_$ = 1 - filter_$.
70 filter by filter_$.
71 list.
72
73 EOF
74 if [ $? -ne 0 ] ; then no_result ; fi
75
76
77 activity="run program"
78 $SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/filter.stat
79 if [ $? -ne 0 ] ; then no_result ; fi
80
81
82 activity="check results"
83 diff -B -b $TEMPDIR/pspp.list - << EOF
84  X FILTER_$
85 -- --------
86  1     1.00 
87  3     1.00 
88  5     1.00 
89  7     1.00 
90  9     1.00 
91
92  X FILTER_$
93 -- --------
94  1     1.00 
95  2      .00 
96  3     1.00 
97  4      .00 
98  5     1.00 
99  6      .00 
100  7     1.00 
101  8      .00 
102  9     1.00 
103 10      .00 
104
105  X FILTER_$
106 -- --------
107  2     1.00 
108  4     1.00 
109  6     1.00 
110  8     1.00 
111 10     1.00 
112
113 EOF
114 if [ $? -ne 0 ] ; then fail ; fi
115
116 pass;