# This program tests the INSERT command
-TEMPDIR=/tmp/pspp-tst-$$
+BASETEMPDIR=/tmp/pspp-tst-$$
+TEMPDIR=$BASETEMPDIR/link
TESTFILE=$TEMPDIR/`basename $0`.sps
# ensure that top_srcdir and top_builddir are absolute
top_srcdir=`cd $top_srcdir; pwd`
top_builddir=`cd $top_builddir; pwd`
-PSPP=$top_builddir/src/ui/terminal/pspp
+PSPP=$top_builddir/src/ui/terminal/pspp$EXEEXT
STAT_CONFIG_PATH=$top_srcdir/config
export STAT_CONFIG_PATH
cleanup()
{
if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then
- echo "NOT cleaning $TEMPDIR"
+ echo "NOT cleaning $BASETEMPDIR"
return ;
fi
- rm -rf $TEMPDIR
+ cd /
+ rm -rf $BASETEMPDIR
}
exit 0;
}
-mkdir -p $TEMPDIR
+mkdir -p $BASETEMPDIR/target
+
+ln -s $BASETEMPDIR/target $TEMPDIR
cd $TEMPDIR
#This command should fail
activity="run program 1"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE > /dev/null
if [ $? -eq 0 ] ; then fail ; fi
if [ $? -ne 0 ] ; then no_result ; fi
activity="run program 2"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
if [ $? -ne 0 ] ; then fail ; fi
# This command should fail
activity="run program 3"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE > /dev/null
if [ $? -eq 0 ] ; then fail ; fi
activity="create wrapper 6"
if [ $? -ne 0 ] ; then no_result ; fi
activity="run program 4"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
if [ $? -ne 0 ] ; then fail ; fi
if [ $? -ne 0 ] ; then no_result ; fi
activity="run program 5"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE > /dev/null
if [ $? -ne 1 ] ; then no_result ; fi
activity="examine output 1"
-diff $TEMPDIR/pspp.list - <<EOF
+diff -c $TEMPDIR/pspp.csv - <<EOF
$TEMPDIR/foo.sps:10: error: DISPLAY: AKSDJ is not a variable name.
+
warning: Error encountered while ERROR=STOP is effective.
-$TEMPDIR/foo.sps:10: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
+$TEMPDIR/foo.sps:10: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
EOF
if [ $? -ne 0 ] ; then fail ; fi
if [ $? -ne 0 ] ; then no_result ; fi
activity="run program 6"
-$SUPERVISOR $PSPP --testing-mode -o raw-ascii $TESTFILE > /dev/null
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE > /dev/null
if [ $? -ne 1 ] ; then no_result ; fi
activity="examine output 2"
-diff $TEMPDIR/pspp.list - <<EOF
+diff $TEMPDIR/pspp.csv - <<EOF
$TEMPDIR/foo.sps:10: error: DISPLAY: AKSDJ is not a variable name.
- x
---------
- 1.00
- 2.00
- 3.00
-
+Table: Data List
+x
+1.00
+2.00
+3.00
EOF
if [ $? -ne 0 ] ; then fail ; fi
+# Test for regression against bug #24569 in which PSPP crashed
+# upon attempt to insert a nonexistent file.
+activity="create wrapper 9"
+cat <<EOF > $TESTFILE
+INSERT
+ FILE='$TEMPDIR/nonexistent'
+ ERROR=CONTINUE.
+ .
+
+LIST.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+#This command should fail
+activity="run program 7"
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE > /dev/null
+if [ $? -eq 0 ] ; then no_result ; fi
pass;