Greatly simplify PSPP configuration.
[pspp-builds.git] / tests / bugs / big-input-2.sh
index 0fea4abab773478415d6dbd94b36b84bb3e10981..c400e2e905cc9246d7eb3bf42dd960e9b4fd11d2 100755 (executable)
@@ -7,11 +7,16 @@
 TEMPDIR=/tmp/pspp-tst-$$
 TESTFILE=$TEMPDIR/`basename $0`.sps
 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
 
 # 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
@@ -19,6 +24,11 @@ export STAT_CONFIG_PATH
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
+     cd /
      rm -rf $TEMPDIR
 }
 
@@ -56,16 +66,10 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 printf "Creating input data.  Please wait"
 activity="create data"
-( while true ; do 
-       echo AB12;
-done )  | head -100000 >> $TEMPDIR/large.dat
+$PERL -e 'for ($i=0; $i<100000; $i++) { print "AB12\n" };
+          for ($i=0; $i<100000; $i++) { print "AB04\n" };' > $TEMPDIR/large.dat
 if [ $? -ne 0 ] ; then no_result ; fi
-printf '.'
-( while true ; do 
-       echo AB04;
-done )  | head -100000 >> $TEMPDIR/large.dat
-if [ $? -ne 0 ] ; then no_result ; fi
-printf "\n";
+printf ".\n";
 
 activity="create program"
 cat > $TESTFILE <<EOF
@@ -80,19 +84,16 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE 
 if [ $? -ne 0 ] ; then fail ; fi
 
 activity="appending to data"
-# Put another 100,000 cases into large.dat
-( while true ; do 
-       echo AB04 
-       echo AB12 
-done )  | head -50000 >> $TEMPDIR/large.dat
+# Put another 50,000 cases into large.dat
+$PERL -e 'for ($i=0; $i<25000; $i++) { print "AB04\nAB12\n" };' >> $TEMPDIR/large.dat
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE 
 if [ $? -ne 0 ] ; then fail ; fi
 
 pass;