tests: Convert erase.sh test to use Autotest.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 25 Sep 2010 23:38:27 +0000 (16:38 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 25 Sep 2010 23:38:27 +0000 (16:38 -0700)
tests/automake.mk
tests/command/erase.sh [deleted file]
tests/language/command.at [new file with mode: 0644]

index a873a7265dcdbd334b8fe62bc7db697825b93269..2ba62d58cdb72e77b516c2a5848b8f9f3f27dafd 100644 (file)
@@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C
 TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
 
 dist_TESTS = \
-       tests/command/erase.sh \
        tests/command/examine.sh \
        tests/command/examine-extremes.sh \
        tests/command/examine-percentiles.sh \
@@ -392,6 +391,7 @@ EXTRA_DIST += \
 TESTSUITE_AT = \
        tests/data/calendar.at \
        tests/data/data-in.at \
+       tests/language/command.at \
        tests/language/control/do-if.at \
        tests/language/control/do-repeat.at \
        tests/language/data-io/add-files.at \
diff --git a/tests/command/erase.sh b/tests/command/erase.sh
deleted file mode 100755 (executable)
index 20fe927..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/sh
-
-# This program tests the ERASE command.
-
-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 file"
-cat > $TEMPDIR/foobar <<EOF
-xyzzy
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-activity="check for file 1"
-if [ ! -f $TEMPDIR/foobar ] ; then no_result ; fi 
-
-
-activity="create program 1"
-cat > $TESTFILE <<EOF
-set safer on
-
-erase FILE='foobar'.
-
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-# foobar must still exist
-activity="check for file 2"
-if [ ! -f $TEMPDIR/foobar ] ; then fail ; fi 
-
-# This command must fail
-activity="run prog 1"
-$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE 
-if [ $? -eq 0 ] ; then fail ; fi
-
-
-activity="create program 2"
-cat > $TESTFILE <<EOF
-
-erase FILE='foobar'.
-
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run prog 2"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
-if [ $? -ne 0 ] ; then fail ; fi
-
-# foobar should now be gone
-if [ -f $TEMPDIR/foobar ] ; then fail ; fi 
-
-
-pass;
diff --git a/tests/language/command.at b/tests/language/command.at
new file mode 100644 (file)
index 0000000..5636caf
--- /dev/null
@@ -0,0 +1,27 @@
+AT_BANNER([ERASE])
+
+AT_SETUP([ERASE -- safer mode])
+AT_DATA([foobar], [contents
+])
+AT_DATA([erase.sps], [dnl
+set safer on
+
+erase FILE='foobar'.
+])
+AT_CHECK([pspp -O format=csv erase.sps], [1], [dnl
+erase.sps:3: error: ERASE: This command not allowed when the SAFER option is set.
+])
+AT_CHECK([cat foobar], [0], [contents
+])
+AT_CLEANUP
+
+AT_SETUP([ERASE -- not safer mode])
+AT_DATA([foobar], [contents
+])
+AT_CHECK([test -e foobar])
+AT_DATA([erase.sps], [dnl
+erase FILE='foobar'.
+])
+AT_CHECK([pspp -O format=csv erase.sps])
+AT_CHECK([test ! -e foobar])
+AT_CLEANUP