tests/formats/360.sh \
tests/bugs/curtailed.sh \
tests/bugs/if_crash.sh \
- tests/bugs/input-crash.sh \
tests/bugs/multipass.sh \
tests/bugs/overwrite-input-file.sh \
tests/bugs/overwrite-special-file.sh \
tests/language/data-io/get-data-psql.at \
tests/language/data-io/get-data-txt.at \
tests/language/data-io/get.at \
+ tests/language/data-io/inpt-pgm.at \
tests/language/data-io/list.at \
tests/language/data-io/match-files.at \
tests/language/data-io/print.at \
+++ /dev/null
-#!/bin/sh
-
-# This program tests for a bug which caused a crash when
-# reading invalid INPUT PROGRAM syntax.
-
-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 test program"
-cat > $TESTFILE <<EOF
-INPUT PROGRAM.
-DATA LIST /a 1-9.
-BEGIN DATA
-123456789
-END DATA.
-END INPUT PROGRAM.
-
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-# The above syntax is invalid, so this program should fail to parse
-activity="run program"
-$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE
-if [ $? -ne 1 ] ; then fail ; fi
-
-
-activity="create test program 2"
-cat > $TESTFILE <<EOF
-* From bug #21108.
-input program.
-data list list /x.
-end file.
-end input program.
-
-descriptives x.
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-# The above syntax is invalid, so this program should fail to parse
-activity="run program 2"
-$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE
-if [ $? -ne 1 ] ; then fail ; fi
-
-
-pass;
--- /dev/null
+AT_BANNER([INPUT PROGRAM])
+
+dnl Tests for a bug which caused a crash when
+dnl reading invalid INPUT PROGRAM syntax.
+AT_SETUP([INPUT PROGRAM invalid syntax crash])
+AT_DATA([input-program.sps], [dnl
+INPUT PROGRAM.
+DATA LIST NOTABLE /a 1-9.
+BEGIN DATA
+123456789
+END DATA.
+END INPUT PROGRAM.
+])
+AT_CHECK([pspp -O format=csv input-program.sps], [1], [dnl
+input-program.sps:3: error: BEGIN DATA: BEGIN DATA is not allowed inside INPUT PROGRAM.
+
+input-program.sps:4: error: Syntax error at `123456789': expecting command name.
+
+input-program.sps:5: error: Unknown command END DATA.
+])
+AT_CLEANUP
+
+dnl Tests for bug #21108, a crash when
+dnl reading invalid INPUT PROGRAM syntax.
+AT_SETUP([INPUT PROGRAM invalid syntax crash])
+AT_DATA([input-program.sps], [dnl
+INPUT PROGRAM.
+DATA LIST LIST NOTABLE /x.
+END FILE.
+END INPUT PROGRAM.
+
+DESCRIPTIVES x.
+])
+AT_CHECK([pspp -O format=csv input-program.sps], [1], [dnl
+error: DESCRIPTIVES: Syntax error at end of file: expecting `BEGIN'.
+])
+AT_CLEANUP