From d332bfc0b665e9ed5566baaba30673b5fd19cc66 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 9 Oct 2010 21:12:33 -0700 Subject: [PATCH] EXAMINE: Convert some more tests to Autotest framework. I'm not really sure that big-input-2.sh was an EXAMINE bug. It could have been a more generic bug. I wasn't able to quickly determine what its original motivation was. --- tests/automake.mk | 2 - tests/bugs/big-input-2.sh | 99 --------------------------------- tests/bugs/big-input.sh | 81 --------------------------- tests/language/stats/examine.at | 46 +++++++++++++++ 4 files changed, 46 insertions(+), 182 deletions(-) delete mode 100755 tests/bugs/big-input-2.sh delete mode 100755 tests/bugs/big-input.sh diff --git a/tests/automake.mk b/tests/automake.mk index f104ce9a..0e563c0c 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -27,8 +27,6 @@ dist_TESTS = \ tests/formats/wkday-in.sh \ tests/formats/wkday-out.sh \ tests/formats/360.sh \ - tests/bugs/big-input.sh \ - tests/bugs/big-input-2.sh \ tests/bugs/case-map.sh \ tests/bugs/comment-at-eof.sh \ tests/bugs/compression.sh \ diff --git a/tests/bugs/big-input-2.sh b/tests/bugs/big-input-2.sh deleted file mode 100755 index 21e3041c..00000000 --- a/tests/bugs/big-input-2.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh - -# This program tests for a bug which caused a crash when -# very large files are presented. - - -TEMPDIR=/tmp/pspp-tst-$$ -TESTFILE=$TEMPDIR/`basename $0`.sps -TESTFILE=$TEMPDIR/`basename $0`.sps -: ${PERL:=perl} - -# 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$EXEEXT - -# ensure that top_srcdir is absolute -top_srcdir=`cd $top_srcdir; pwd` - -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 -} - - -fail() -{ - echo $activity - echo FAILED - cleanup; - exit 1; -} - - -no_result() -{ - echo $activity - echo NO RESULT; - cleanup; - exit 2; -} - -pass() -{ - cleanup; - exit 0; -} - -mkdir -p $TEMPDIR - -cd $TEMPDIR - -activity="delete data" -rm -f $TEMPDIR/large.dat -if [ $? -ne 0 ] ; then no_result ; fi - -printf "Creating input data. Please wait" -activity="create data" -$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"; - -activity="create program" -cat > $TESTFILE <> $TEMPDIR/large.dat -if [ $? -ne 0 ] ; then no_result ; fi - -activity="run program" -$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE -if [ $? -ne 0 ] ; then fail ; fi - -pass; diff --git a/tests/bugs/big-input.sh b/tests/bugs/big-input.sh deleted file mode 100755 index 11131b25..00000000 --- a/tests/bugs/big-input.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -# This program tests for a bug which caused a crash when -# a large number of cases where presented. - - -TEMPDIR=/tmp/pspp-tst-$$ -TESTFILE=$TEMPDIR/`basename $0`.sps - -# 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$EXEEXT - -# ensure that top_srcdir is absolute -top_srcdir=`cd $top_srcdir; pwd` - -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 -} - - -fail() -{ - echo $activity - echo FAILED - cleanup; - exit 1; -} - - -no_result() -{ - echo $activity - echo NO RESULT; - cleanup; - exit 2; -} - -pass() -{ - cleanup; - exit 0; -} - -mkdir -p $TEMPDIR - -cd $TEMPDIR - -activity="create program" -cat > $TESTFILE < large.txt]) +AT_DATA([examine.sps], [dnl +DATA LIST FILE='large.txt' /S 1-2 (A) X 3 . + + +AGGREGATE OUTFILE=* /BREAK=X /A=N. + + +EXAMINE /A BY /X. +]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +dnl Ignore output -- this is just a no-crash check. +AT_DATA([more-big-input.pl], + [for ($i=0; $i<25000; $i++) { print "AB04\nAB12\n" }; +]) +AT_CHECK([$PERL more-big-input.pl >> large.txt]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +dnl Ignore output -- this is just a no-crash check. +AT_CLEANUP -- 2.30.2