SORT CASES: Convert tests to Autotest framework.
[pspp-builds.git] / tests / command / sysfiles.sh
index 1ec5718c22342c66d78768bc942e03655644ff3d..2cee8952ecddb9a9f011699c6aa610ef06b2de23 100755 (executable)
@@ -7,10 +7,14 @@
 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$EXEEXT
 
 # ensure that top_srcdir is absolute
-cd $top_srcdir; top_srcdir=`pwd`
+top_srcdir=`cd $top_srcdir; pwd`
 
 STAT_CONFIG_PATH=$top_srcdir/config
 export STAT_CONFIG_PATH
@@ -18,6 +22,10 @@ export STAT_CONFIG_PATH
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
 }
@@ -75,22 +83,21 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare output"
-perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
-diff -b  -w $TEMPDIR/pspp.list - << EOF
-variable001 variable002 variable003 variable004
------------ ----------- ----------- -----------
-       1.00        1.00        1.00        2.00  
-       1.00        1.00        2.00       30.00 
-       1.00        2.00        1.00       8.00 
-       1.00        2.00        2.00      20.00 
-       2.00        1.00        1.00       2.00 
-       2.00        1.00        2.00      22.00 
-       2.00        2.00        1.00       1.00 
-       2.00        2.00        2.00       3.00 
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+variable001,variable002,variable003,variable004
+1.00,1.00,1.00,2.00
+1.00,1.00,2.00,30.00
+1.00,2.00,1.00,8.00
+1.00,2.00,2.00,20.00
+2.00,1.00,1.00,2.00
+2.00,1.00,2.00,22.00
+2.00,2.00,1.00,1.00
+2.00,2.00,2.00,3.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi