Greatly simplify PSPP configuration.
[pspp] / tests / command / flip.sh
index 8b95ec77ff427d808edf5b0dd81669b659888cc4..141a75cc4a641cdd8acb038c90828d4da4cb55c1 100755 (executable)
@@ -5,16 +5,28 @@
 TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/`basename $0`.sps
 
-here=`pwd`;
+# ensure that top_builddir  are absolute
+if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
+if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
+top_builddir=`cd $top_builddir; pwd`
+PSPP=$top_builddir/src/ui/terminal/pspp
 
 # ensure that top_srcdir is absolute
-cd $top_srcdir; top_srcdir=`pwd`
+top_srcdir=`cd $top_srcdir; pwd`
 
-export STAT_CONFIG_PATH=$top_srcdir/config
+STAT_CONFIG_PATH=$top_srcdir/config
+export STAT_CONFIG_PATH
 
+LANG=C
+export LANG
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
+     cd /
      rm -rf $TEMPDIR
 }
 
@@ -48,7 +60,8 @@ cd $TEMPDIR
 
 activity="create flip.stat"
 cat > $TEMPDIR/flip.stat <<EOF
-data list /n 1 (a) a b c d 2-9.
+* Test FLIP with NEWNAME or, equivalently, with a variable named CASE_LBL.
+data list notable /N 1 (a) A B C D 2-9.
 list.
 begin data.
 v 1 2 3 4 5
@@ -61,49 +74,69 @@ flip newnames=n.
 list.
 flip.
 list.
+
+* Test FLIP without NEWNAME.
+data list list notable /v1 to v10.
+format all(f2).
+begin data.
+1 2 3 4 5 6 7 8 9 10
+4 5 6 7 8 9 10 11 12 13
+end data.
+
+list.
+
+flip.
+list. 
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/flip.stat
+$SUPERVISOR $PSPP -o pspp.csv $TEMPDIR/flip.stat
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare output"
-diff  -b -B $TEMPDIR/pspp.list - << EOF
-1.1 DATA LIST.  Reading 1 record from the command file.
-+--------+------+-------+------+
-|Variable|Record|Columns|Format|
-#========#======#=======#======#
-|N       |     1|  1-  1|A1    |
-|A       |     1|  2-  3|F2.0  |
-|B       |     1|  4-  5|F2.0  |
-|C       |     1|  6-  7|F2.0  |
-|D       |     1|  8-  9|F2.0  |
-+--------+------+-------+------+
-
-N  A  B  C  D
-- -- -- -- --
-v  1  2  3  4 
-w  6  7  8  9 
-x 11 12 13 14 
-y 16 17 18 19 
-z 21 22 23 24 
-
-CASE_LBL        V        W        X        Y        Z
--------- -------- -------- -------- -------- --------
-A            1.00     6.00    11.00    16.00    21.00 
-B            2.00     7.00    12.00    17.00    22.00 
-C            3.00     8.00    13.00    18.00    23.00 
-D            4.00     9.00    14.00    19.00    24.00 
-
-CASE_LBL        A        B        C        D
--------- -------- -------- -------- --------
-V            1.00     2.00     3.00     4.00 
-W            6.00     7.00     8.00     9.00 
-X           11.00    12.00    13.00    14.00 
-Y           16.00    17.00    18.00    19.00 
-Z           21.00    22.00    23.00    24.00 
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+N,A,B,C,D
+v,1,2,3,4
+w,6,7,8,9
+x,11,12,13,14
+y,16,17,18,19
+z,21,22,23,24
+
+Table: Data List
+CASE_LBL,V,W,X,Y,Z
+A       ,1.00,6.00,11.00,16.00,21.00
+B       ,2.00,7.00,12.00,17.00,22.00
+C       ,3.00,8.00,13.00,18.00,23.00
+D       ,4.00,9.00,14.00,19.00,24.00
+
+Table: Data List
+CASE_LBL,A,B,C,D
+V       ,1.00,2.00,3.00,4.00
+W       ,6.00,7.00,8.00,9.00
+X       ,11.00,12.00,13.00,14.00
+Y       ,16.00,17.00,18.00,19.00
+Z       ,21.00,22.00,23.00,24.00
+
+Table: Data List
+v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
+1,2,3,4,5,6,7,8,9,10
+4,5,6,7,8,9,10,11,12,13
+
+Table: Data List
+CASE_LBL,VAR000,VAR001
+v1      ,1.00,4.00
+v2      ,2.00,5.00
+v3      ,3.00,6.00
+v4      ,4.00,7.00
+v5      ,5.00,8.00
+v6      ,6.00,9.00
+v7      ,7.00,10.00
+v8      ,8.00,11.00
+v9      ,9.00,12.00
+v10     ,10.00,13.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi