250b97abe00eebd957617412a49bd34e2fe9c48b
[pspp-builds.git] / tests / command / split-file.sh
1 #!/bin/sh
2
3 # This program tests the split file command
4
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
7
8 # ensure that top_builddir  are absolute
9 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
10 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
11 top_builddir=`cd $top_builddir; pwd`
12 PSPP=$top_builddir/src/ui/terminal/pspp
13
14 # ensure that top_srcdir is absolute
15 top_srcdir=`cd $top_srcdir; pwd`
16
17 STAT_CONFIG_PATH=$top_srcdir/config
18 export STAT_CONFIG_PATH
19
20
21 cleanup()
22 {
23      cd /
24      rm -rf $TEMPDIR
25 }
26
27
28 fail()
29 {
30     echo $activity
31     echo FAILED
32     cleanup;
33     exit 1;
34 }
35
36
37 no_result()
38 {
39     echo $activity
40     echo NO RESULT;
41     cleanup;
42     exit 2;
43 }
44
45 pass()
46 {
47     cleanup;
48     exit 0;
49 }
50
51 mkdir -p $TEMPDIR
52
53 cd $TEMPDIR
54
55 activity="create program"
56 cat > $TEMPDIR/split.stat <<EOF
57 title 'Test SPLIT FILE utility'.
58
59 data list notable /X 1 Y 2.
60 begin data.
61 12
62 16
63 17
64 19
65 15
66 14
67 27
68 20
69 26
70 25
71 28
72 29
73 24
74 end data.
75 split file by x.
76 list.
77 EOF
78 if [ $? -ne 0 ] ; then no_result ; fi
79
80 activity="run program"
81 $SUPERVISOR $PSPP -o raw-ascii $TEMPDIR/split.stat
82 if [ $? -ne 0 ] ; then no_result ; fi
83
84 activity="compare results"
85 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
86 diff  -b $TEMPDIR/pspp.list - <<EOF
87 Variable Value Label
88 X            1
89 X Y
90 - -
91 1 2 
92 1 6 
93 1 7 
94 1 9 
95 1 5 
96 1 4 
97 Variable Value Label
98 X            2
99 X Y
100 - -
101 2 7 
102 2 0 
103 2 6 
104 2 5 
105 2 8 
106 2 9 
107 2 4
108 EOF
109 if [ $? -ne 0 ] ; then fail ; fi
110
111 pass;