TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
dist_TESTS = \
- tests/command/erase.sh \
tests/command/examine.sh \
tests/command/examine-extremes.sh \
tests/command/examine-percentiles.sh \
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 \
+++ /dev/null
-#!/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;
--- /dev/null
+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