Made all the tests respect the PSPP_TEST_NO_CLEANUP environment variable.
[pspp-builds.git] / tests / bugs / get.sh
index 824d93c3617a1988f110309a13b729dbd1d7cb17..2cc6cfc5a3e26ec7f0b8d24a629fb75728e4f2d5 100755 (executable)
@@ -7,16 +7,26 @@
 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
 
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
+     cd /
      rm -rf $TEMPDIR
 }
 
@@ -77,14 +87,15 @@ 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="compare output"
-diff -b -B -w $TEMPDIR/pspp.list - << EOF
+perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
+diff -b  -w $TEMPDIR/pspp.list - << EOF
 LOCATION   EDITOR    SHELL     FREQ
  -------- -------- -------- --------
      1.00     1.00     1.00     2.00 
@@ -95,8 +106,6 @@ LOCATION   EDITOR    SHELL     FREQ
      2.00     1.00     2.00    22.00 
      2.00     2.00     1.00     1.00 
      2.00     2.00     2.00     3.00 
-
 LOCATION   EDITOR    SHELL     FREQ
  -------- -------- -------- --------
      1.00     1.00     1.00     2.00 
@@ -107,7 +116,6 @@ LOCATION   EDITOR    SHELL     FREQ
      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