SAMPLE: Convert test to Autotest framework.
[pspp-builds.git] / tests / command / sort.sh
index f51881a326133da0295af79b10146c7c055f9cfe..ffc55c21a5b78e2882f8e9e168f640bae6e33bf0 100755 (executable)
@@ -4,17 +4,28 @@
 
 TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/`basename $0`.sps
+: ${PERL:=perl}
 
-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`
 
-export STAT_CONFIG_PATH=$top_srcdir/config
+STAT_CONFIG_PATH=$top_srcdir/config
+export STAT_CONFIG_PATH
 
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
+     cd /
      rm -rf $TEMPDIR
 }
 
@@ -91,7 +102,7 @@ for count_repeat_buffers in \
   repeat=$2
   buffers=$3
 
-  echo -n .
+  printf .
 
   activity="generate data for $count_repeat_buffers run"
   $PERL gen-data.pl $count $repeat > sort.data
@@ -110,10 +121,11 @@ for count_repeat_buffers in \
   } > sort.pspp || no_result
   
   activity="run program"
-  $SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii sort.pspp
+  $SUPERVISOR $PSPP --testing-mode -o pspp.csv sort.pspp
   if [ $? -ne 0 ] ; then no_result ; fi
-  diff -B -w sort.exp sort.out
+  
+  perl -pi -e 's/^\s*$//g' sort.exp sort.out
+  diff -w sort.exp sort.out
   if [ $? -ne 0 ] ; then fail ; fi
 done
 echo