Fix bug encodig missing value keys in gui
[pspp-builds.git] / tests / bugs / random.sh
index 0f4acd777c834aa0b1066a37ab09aaffa5f722b8..e423f3e8b4c6318241adc54718902d22a1697b41 100755 (executable)
@@ -4,17 +4,28 @@
 
 
 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
 }
 
@@ -47,29 +58,30 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/rnd.sps <<EOF
+cat > $TESTFILE <<EOF
 set seed=10.
 input program.
 + loop #i = 1 to 20.
-+    do repeat response=r1.
++    do repeat response=R1.
 +       compute response = uniform(10).
 +    end repeat.
 +    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 $TEMPDIR/rnd.sps
+$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
       R1
 --------
      7.71 
@@ -92,7 +104,6 @@ diff -b -B -w $TEMPDIR/pspp.list - << EOF
      2.64 
       .88 
      1.50 
-
 EOF
 if [ $? -ne 0 ] ; then fail ; fi