Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / autorecod.sh
index 98b2c078dd1f03357103bc3377a7235d685b35fe..e4a86dfa6818e85bc2accde1fec975d41c0e3c5f 100755 (executable)
@@ -6,16 +6,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
 }
 
@@ -75,42 +87,39 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp    -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="test output"
-diff -b -B $TEMPDIR/pspp.list - <<EOF
-1.1 DATA LIST.  Reading 1 record from the command file.
-+--------+------+-------+------+
-|Variable|Record|Columns|Format|
-#========#======#=======#======#
-|X       |     1|  1-  5|A5    |
-|Y       |     1|  7-  7|F1.0  |
-+--------+------+-------+------+
-
-    X Y        A        B
------ - -------- --------
-lasdj 1     1.00     3.00 
-asdfk 0     3.00     4.00 
-asdfj 2     4.00     2.00 
-asdfj 1     4.00     3.00 
-asdfk 2     3.00     2.00 
-asdfj 9     4.00     1.00 
-lajks 9     2.00     1.00 
-asdfk 0     3.00     4.00 
-asdfk 1     3.00     3.00 
-
-    X Y        A        B        Z        W
------ - -------- -------- -------- --------
-lasdj 1     1.00     3.00      .00     1.00 
-asdfk 0     3.00     4.00      .00     1.00 
-asdfj 2     4.00     2.00     1.00     2.00 
-asdfj 1     4.00     3.00      .00     1.00 
-asdfk 2     3.00     2.00     1.00     2.00 
-asdfj 9     4.00     1.00     4.00     3.00 
-lajks 9     2.00     1.00     4.00     3.00 
-asdfk 0     3.00     4.00      .00     1.00 
-asdfk 1     3.00     3.00      .00     1.00 
+diff -b $TEMPDIR/pspp.csv - <<EOF
+Table: Reading 1 record from INLINE.
+Variable,Record,Columns,Format
+X,1,1-  5,A5
+Y,1,7-  7,F1.0
+
+Table: Data List
+X,Y,A,B
+lasdj,1,1.00,3.00
+asdfk,0,3.00,4.00
+asdfj,2,4.00,2.00
+asdfj,1,4.00,3.00
+asdfk,2,3.00,2.00
+asdfj,9,4.00,1.00
+lajks,9,2.00,1.00
+asdfk,0,3.00,4.00
+asdfk,1,3.00,3.00
+
+Table: Data List
+X,Y,A,B,Z,W
+lasdj,1,1.00,3.00,.00,1.00
+asdfk,0,3.00,4.00,.00,1.00
+asdfj,2,4.00,2.00,1.00,2.00
+asdfj,1,4.00,3.00,.00,1.00
+asdfk,2,3.00,2.00,1.00,2.00
+asdfj,9,4.00,1.00,4.00,3.00
+lajks,9,2.00,1.00,4.00,3.00
+asdfk,0,3.00,4.00,.00,1.00
+asdfk,1,3.00,3.00,.00,1.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi