Rewrite PSPP output engine.
[pspp-builds.git] / tests / bugs / random.sh
index ae4d4774b05dfa3f8cee308f4635288ba1ac38c3..d2016edb4238fc1f2226268b1971d5482a2f319e 100755 (executable)
@@ -6,10 +6,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
 
 # 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
@@ -17,6 +21,10 @@ export STAT_CONFIG_PATH
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
 }
@@ -60,43 +68,42 @@ input program.
 +    end case.
 + end loop.
 + end file.
-end input program.                                                              
+end input program.
 
 list.
 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="compare output"
-perl -pi -e s/^\s*\$//g $TEMPDIR/pspp.list
-diff -b  -w $TEMPDIR/pspp.list - << EOF | perl -e 's/^\s*$//g'
-      R1
---------
-     7.71 
-     2.99 
-      .21 
-     4.95 
-     6.34 
-     4.43 
-     7.49 
-     8.32 
-     4.99 
-     5.83 
-     2.25 
-      .25 
-     1.98 
-     7.09 
-     7.61 
-     2.66 
-     1.69 
-     2.64 
-      .88 
-     1.50 
-
+perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.csv
+diff -b  -w $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+R1
+7.71
+2.99
+.21
+4.95
+6.34
+4.43
+7.49
+8.32
+4.99
+5.83
+2.25
+.25
+1.98
+7.09
+7.61
+2.66
+1.69
+2.64
+.88
+1.50
 EOF
 if [ $? -ne 0 ] ; then fail ; fi