Greatly simplify PSPP configuration.
[pspp-builds.git] / tests / bugs / big-input-2.sh
index 5a3c6da02dff2a633dbb1d3822e9ebdb8d24f09f..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,10 @@ export STAT_CONFIG_PATH
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
 }
@@ -57,8 +66,8 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 printf "Creating input data.  Please wait"
 activity="create data"
-$PERL -e 'print "AB12\n" foreach 1...100000;
-          print "AB04\n" foreach 1...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 ".\n";
 
@@ -75,16 +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
-$PERL -e 'print "AB04\nAB12\n" foreach 1...25000' >> $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;