Fix GCC 4.3 warning about uninitialized structure member.
[pspp] / tests / command / sysfiles-old.sh
1 #!/bin/sh
2
3 # This program tests that system files can be read and written 
4 # without the long name tables.
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 PSPP=$top_builddir/src/ui/terminal/pspp
15
16 # ensure that top_srcdir is absolute
17 top_srcdir=`cd $top_srcdir; pwd`
18
19 STAT_CONFIG_PATH=$top_srcdir/config
20 export STAT_CONFIG_PATH
21
22
23 cleanup()
24 {
25      if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
26         echo "NOT cleaning $TEMPDIR" 
27         return ; 
28      fi
29      cd /
30      rm -rf $TEMPDIR
31 }
32
33
34 fail()
35 {
36     echo $activity
37     echo FAILED
38     cleanup;
39     exit 1;
40 }
41
42
43 no_result()
44 {
45     echo $activity
46     echo NO RESULT;
47     cleanup;
48     exit 2;
49 }
50
51 pass()
52 {
53     cleanup;
54     exit 0;
55 }
56
57 mkdir -p $TEMPDIR
58
59 cd $TEMPDIR
60
61 activity="create program"
62 cat > $TESTFILE <<EOF
63 DATA LIST LIST NOTABLE / X * variable001 * variable002 * variable003 * .
64 BEGIN DATA.
65     1.00     1.00    1.0     2.00
66     1.00     1.00    2.0    30.00
67     1.00     2.00    1.0     8.00
68     1.00     2.00    2.0    20.00
69     2.00     1.00    1.0     2.00
70     2.00     1.00    2.0    22.00
71     2.00     2.00    1.0     1.00
72     2.00     2.00    2.0     3.00
73 END DATA.
74
75 SAVE /OUTFILE='$TEMPDIR/foo.sav'
76      /VERSION=2
77      .
78
79 GET /FILE='$TEMPDIR/foo.sav'.
80
81 LIST.
82
83 EOF
84 if [ $? -ne 0 ] ; then no_result ; fi
85
86 activity="run program"
87 $SUPERVISOR $PSPP --testing-mode $TESTFILE
88 if [ $? -ne 0 ] ; then no_result ; fi
89
90 activity="check file exists"
91 ls -l $TEMPDIR/foo.sav > /dev/null
92 if [ $? -ne 0 ] ; then no_result ; fi
93
94 # Ensure that the written file has no long name table
95 activity="check sysfile type"
96 grep  'X=X' $TEMPDIR/foo.sav
97 if [ $? -eq 0 ] ; then fail ; fi
98
99 activity="compare output"
100 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
101 diff -b  -w $TEMPDIR/pspp.list - << EOF
102        x variable variab_a variab_b
103 -------- -------- -------- --------
104     1.00     1.00     1.00     2.00 
105     1.00     1.00     2.00    30.00 
106     1.00     2.00     1.00     8.00 
107     1.00     2.00     2.00    20.00 
108     2.00     1.00     1.00     2.00 
109     2.00     1.00     2.00    22.00 
110     2.00     2.00     1.00     1.00 
111     2.00     2.00     2.00     3.00 
112 EOF
113 if [ $? -ne 0 ] ; then fail ; fi
114
115 pass;