Checkin of new directory structure.
[pspp-builds.git] / tests / command / sysfiles.sh
1 #!/bin/sh
2
3 # This program tests that system files can be read and written 
4 # including the long variable names.
5
6
7 TEMPDIR=/tmp/pspp-tst-$$
8 TESTFILE=$TEMPDIR/`basename $0`.sps
9
10 # ensure that top_builddir  are absolute
11 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
12 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
13 top_builddir=`cd $top_builddir; pwd`
14
15 # ensure that top_srcdir is absolute
16 top_srcdir=`cd $top_srcdir; pwd`
17
18 STAT_CONFIG_PATH=$top_srcdir/config
19 export STAT_CONFIG_PATH
20
21
22 cleanup()
23 {
24      cd /
25      rm -rf $TEMPDIR
26 }
27
28
29 fail()
30 {
31     echo $activity
32     echo FAILED
33     cleanup;
34     exit 1;
35 }
36
37
38 no_result()
39 {
40     echo $activity
41     echo NO RESULT;
42     cleanup;
43     exit 2;
44 }
45
46 pass()
47 {
48     cleanup;
49     exit 0;
50 }
51
52 mkdir -p $TEMPDIR
53
54 cd $TEMPDIR
55
56 activity="create program"
57 cat > $TESTFILE <<EOF
58 DATA LIST LIST NOTABLE / variable001 * variable002 * variable003 * variable004 * .
59 BEGIN DATA.
60     1.00     1.00    1.0     2.00
61     1.00     1.00    2.0    30.00
62     1.00     2.00    1.0     8.00
63     1.00     2.00    2.0    20.00
64     2.00     1.00    1.0     2.00
65     2.00     1.00    2.0    22.00
66     2.00     2.00    1.0     1.00
67     2.00     2.00    2.0     3.00
68 END DATA.
69
70 SAVE /OUTFILE='$TEMPDIR/foo.sav'.
71
72 GET /FILE='$TEMPDIR/foo.sav'.
73
74 LIST.
75
76 EOF
77 if [ $? -ne 0 ] ; then no_result ; fi
78
79
80 activity="run program"
81 $SUPERVISOR $top_builddir/src/pspp -o raw-ascii $TESTFILE
82 if [ $? -ne 0 ] ; then no_result ; fi
83
84 activity="compare output"
85 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
86 diff -b  -w $TEMPDIR/pspp.list - << EOF
87 variable001 variable002 variable003 variable004
88 ----------- ----------- ----------- -----------
89        1.00        1.00        1.00        2.00  
90        1.00        1.00        2.00       30.00 
91        1.00        2.00        1.00        8.00 
92        1.00        2.00        2.00       20.00 
93        2.00        1.00        1.00        2.00 
94        2.00        1.00        2.00       22.00 
95        2.00        2.00        1.00        1.00 
96        2.00        2.00        2.00        3.00 
97 EOF
98 if [ $? -ne 0 ] ; then fail ; fi
99
100 pass;