5d7483922d8f2bf13a9ffa74afe5ed900cbc05de
[pspp-builds.git] / 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 here=`pwd`;
11
12 # ensure that top_srcdir is absolute
13 cd $top_srcdir; top_srcdir=`pwd`
14
15 STAT_CONFIG_PATH=$top_srcdir/config
16 export STAT_CONFIG_PATH
17
18
19 cleanup()
20 {
21      cd /
22      rm -rf $TEMPDIR
23 }
24
25
26 fail()
27 {
28     echo $activity
29     echo FAILED
30     cleanup;
31     exit 1;
32 }
33
34
35 no_result()
36 {
37     echo $activity
38     echo NO RESULT;
39     cleanup;
40     exit 2;
41 }
42
43 pass()
44 {
45     cleanup;
46     exit 0;
47 }
48
49 mkdir -p $TEMPDIR
50
51 cd $TEMPDIR
52
53 activity="create program"
54 cat > $TESTFILE <<EOF
55 DATA LIST LIST NOTABLE / X * variable001 * variable002 * variable003 * .
56 BEGIN DATA.
57     1.00     1.00    1.0     2.00
58     1.00     1.00    2.0    30.00
59     1.00     2.00    1.0     8.00
60     1.00     2.00    2.0    20.00
61     2.00     1.00    1.0     2.00
62     2.00     1.00    2.0    22.00
63     2.00     2.00    1.0     1.00
64     2.00     2.00    2.0     3.00
65 END DATA.
66
67 SAVE /OUTFILE='$TEMPDIR/foo.sav'
68      /VERSION=2
69      .
70
71 GET /FILE='$TEMPDIR/foo.sav'.
72
73 LIST.
74
75 EOF
76 if [ $? -ne 0 ] ; then no_result ; fi
77
78 activity="run program"
79 $SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
80 if [ $? -ne 0 ] ; then no_result ; fi
81
82 activity="check file exists"
83 ls -l $TEMPDIR/foo.sav > /dev/null
84 if [ $? -ne 0 ] ; then no_result ; fi
85
86 # Ensure that the written file has no long name table
87 activity="check sysfile type"
88 grep  'X=X' $TEMPDIR/foo.sav
89 if [ $? -eq 0 ] ; then fail ; fi
90
91 activity="compare output"
92 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
93 diff -b  -w $TEMPDIR/pspp.list - << EOF
94        X VARIABLE VARIAB_A VARIAB_B
95 -------- -------- -------- --------
96     1.00     1.00     1.00     2.00 
97     1.00     1.00     2.00    30.00 
98     1.00     2.00     1.00     8.00 
99     1.00     2.00     2.00    20.00 
100     2.00     1.00     1.00     2.00 
101     2.00     1.00     2.00    22.00 
102     2.00     2.00     1.00     1.00 
103     2.00     2.00     2.00     3.00 
104 EOF
105 if [ $? -ne 0 ] ; then fail ; fi
106
107 pass;