Fixed bug parsing floating point values in DO-REPEAT.
[pspp-builds.git] / tests / command / match-files.sh
index bb4729391cbd9e248bcd3924ae9ec0b3a74dc852..367c6ddc6dc3ebd3f38d341fef97ce634d8003f0 100755 (executable)
@@ -6,16 +6,22 @@ TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/match-files.pspp
 
 
-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
 
 cleanup()
 {
+    cd /
     rm -rf $TEMPDIR
     :
 }
@@ -159,11 +165,13 @@ EOF
        if [ $? -ne 0 ] ; then no_result ; fi
 
        activity="run $name.pspp"
-       $SUPERVISOR $here/../src/pspp -o raw-ascii $name.pspp >/dev/null 2>&1
+       $SUPERVISOR $PSPP -o raw-ascii -e /dev/null $name.pspp 
        if [ $? -ne 0 ] ; then no_result ; fi
 
        activity="check $name output"
-       diff -b -w -B pspp.list $types.out
+       perl -pi -e 's/^\s*$//g' pspp.list
+       perl -pi -e 's/^\s*$//g' $types.out
+       diff -b -w pspp.list $types.out
        if [ $? -ne 0 ] ; then fail ; fi
     done
 done
@@ -182,11 +190,12 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run $name.pspp"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $name.pspp >/dev/null 2>&1
+$SUPERVISOR $PSPP -o raw-ascii -e /dev/null $name.pspp 
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="check $name output"
-diff -b -w -B - pspp.list <<EOF
+perl -pi -e 's/^\s*$//g' pspp.list
+diff -b -w - pspp.list <<EOF
 A B C D E F
 - - - - - -
 0 a A 1 b N
@@ -230,11 +239,12 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run $name.pspp"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $name.pspp >/dev/null 2>&1
+$SUPERVISOR $PSPP -o raw-ascii -e /dev/null $name.pspp 
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="check $name output"
-diff -b -w -B - pspp.list <<EOF
+perl -pi -e 's/^\s*$//g' pspp.list
+diff -b -w - pspp.list <<EOF | perl -e 's/^\s*$//g'
         x        z        y
  -------- -------- --------
      3.00     8.00    30.00