c7429b32a0a7cfc6315ff00839af4a349bf3415f
[pspp-builds.git] / tests / command / flip.sh
1 #!/bin/sh
2
3 # This program tests the flip 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 flip.stat"
56 cat > $TEMPDIR/flip.stat <<EOF
57 data list /N 1 (a) A B C D 2-9.
58 list.
59 begin data.
60 v 1 2 3 4 5
61 w 6 7 8 910
62 x1112131415
63 y1617181920
64 z2122232425
65 end data.
66 flip newnames=n.
67 list.
68 flip.
69 list.
70 EOF
71 if [ $? -ne 0 ] ; then no_result ; fi
72
73
74 activity="run program"
75 $SUPERVISOR $PSPP -o raw-ascii $TEMPDIR/flip.stat
76 if [ $? -ne 0 ] ; then no_result ; fi
77
78 activity="compare output"
79 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
80 diff  -b  $TEMPDIR/pspp.list - << EOF
81 1.1 DATA LIST.  Reading 1 record from INLINE.
82 +--------+------+-------+------+
83 |Variable|Record|Columns|Format|
84 #========#======#=======#======#
85 |N       |     1|  1-  1|A1    |
86 |A       |     1|  2-  3|F2.0  |
87 |B       |     1|  4-  5|F2.0  |
88 |C       |     1|  6-  7|F2.0  |
89 |D       |     1|  8-  9|F2.0  |
90 +--------+------+-------+------+
91 N  A  B  C  D
92 - -- -- -- --
93 v  1  2  3  4 
94 w  6  7  8  9 
95 x 11 12 13 14 
96 y 16 17 18 19 
97 z 21 22 23 24 
98 CASE_LBL        V        W        X        Y        Z
99 -------- -------- -------- -------- -------- --------
100 A            1.00     6.00    11.00    16.00    21.00 
101 B            2.00     7.00    12.00    17.00    22.00 
102 C            3.00     8.00    13.00    18.00    23.00 
103 D            4.00     9.00    14.00    19.00    24.00 
104 CASE_LBL        A        B        C        D
105 -------- -------- -------- -------- --------
106 V            1.00     2.00     3.00     4.00 
107 W            6.00     7.00     8.00     9.00 
108 X           11.00    12.00    13.00    14.00 
109 Y           16.00    17.00    18.00    19.00 
110 Z           21.00    22.00    23.00    24.00 
111 EOF
112 if [ $? -ne 0 ] ; then fail ; fi
113
114
115 pass;