From d6e4461802aa4bcc06a457c3419d544117c1df90 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 25 Sep 2010 16:33:01 -0700 Subject: [PATCH] tests: Convert do-repeat.sh test to use Autotest. --- tests/automake.mk | 3 +- tests/bugs/empty-do-repeat.sh | 77 --------------------- tests/command/do-repeat.sh | 100 ---------------------------- tests/language/control/do-repeat.at | 49 ++++++++++++++ 4 files changed, 50 insertions(+), 179 deletions(-) delete mode 100755 tests/bugs/empty-do-repeat.sh delete mode 100755 tests/command/do-repeat.sh create mode 100644 tests/language/control/do-repeat.at diff --git a/tests/automake.mk b/tests/automake.mk index b367984e..a873a726 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT) dist_TESTS = \ - tests/command/do-repeat.sh \ tests/command/erase.sh \ tests/command/examine.sh \ tests/command/examine-extremes.sh \ @@ -94,7 +93,6 @@ dist_TESTS = \ tests/bugs/compression.sh \ tests/bugs/curtailed.sh \ tests/bugs/data-crash.sh \ - tests/bugs/empty-do-repeat.sh \ tests/bugs/get.sh \ tests/bugs/examine-crash.sh \ tests/bugs/examine-crash2.sh \ @@ -395,6 +393,7 @@ TESTSUITE_AT = \ tests/data/calendar.at \ tests/data/data-in.at \ tests/language/control/do-if.at \ + tests/language/control/do-repeat.at \ tests/language/data-io/add-files.at \ tests/language/data-io/data-list.at \ tests/language/data-io/data-reader.at \ diff --git a/tests/bugs/empty-do-repeat.sh b/tests/bugs/empty-do-repeat.sh deleted file mode 100755 index 15ef6beb..00000000 --- a/tests/bugs/empty-do-repeat.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -# This program tests for a bug that crashed PSPP given an empty DO -# REPEAT...END REPEAT block. See bug #18407. - -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 > $TEMPDIR/repeat.stat < $TESTFILE << EOF -DATA LIST NOTABLE /a 1. -BEGIN DATA. -0 -END DATA. - -DO REPEAT h = h0 TO h3 / x = 0 TO 3 / y = 8, 7.5, 6, 5. - COMPUTE h = x + y. -END REPEAT. - -VECTOR v(6). -COMPUTE #idx = 0. -DO REPEAT i = 1 TO 2. - DO REPEAT j = 3 TO 5. - COMPUTE #x = i + j. - COMPUTE #idx = #idx + 1. - COMPUTE v(#idx) = #x. - END REPEAT. -END REPEAT. - -LIST. - -EOF -if [ $? -ne 0 ] ; then no_result ; fi - -activity="run program" -$SUPERVISOR $PSPP -o pspp.csv $TESTFILE -if [ $? -ne 0 ] ; then no_result ; fi - -activity="compare results" -perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.csv -diff -b $TEMPDIR/pspp.csv - <