#!/bin/sh
# This program tests for a bug which caused
-# the second procedure after GET FILE to corrupt it's output
+# the second procedure after GET FILE to corrupt its output
TEMPDIR=/tmp/pspp-tst-$$
TESTFILE=$TEMPDIR/`basename $0`.sps
-here=`pwd`;
+# 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
-cd $top_srcdir; top_srcdir=`pwd`
+top_srcdir=`cd $top_srcdir; pwd`
-export STAT_CONFIG_PATH=$top_srcdir/config
+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
}
cd $TEMPDIR
activity="create program"
-cat > $TEMPDIR/prog.sps <<EOF
-DATA LIST LIST NOTABLE /location * editor * shell * freq * .
+cat > $TESTFILE <<EOF
+DATA LIST LIST NOTABLE /LOCATION * EDITOR * SHELL * FREQ * .
BEGIN DATA.
1.00 1.00 1.0 2.00
1.00 1.00 2.0 30.00
EOF
if [ $? -ne 0 ] ; then no_result ; fi
+
activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/prog.sps
+$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
if [ $? -ne 0 ] ; then no_result ; fi
+
+
activity="compare output"
-diff -b -B -w $TEMPDIR/pspp.list - << EOF
-LOCATION EDITOR SHELL FREQ
- -------- -------- -------- --------
- 1.00 1.00 1.00 2.00
- 1.00 1.00 2.00 30.00
- 1.00 2.00 1.00 8.00
- 1.00 2.00 2.00 20.00
- 2.00 1.00 1.00 2.00
- 2.00 1.00 2.00 22.00
- 2.00 2.00 1.00 1.00
- 2.00 2.00 2.00 3.00
-
-
-LOCATION EDITOR SHELL FREQ
- -------- -------- -------- --------
- 1.00 1.00 1.00 2.00
- 1.00 1.00 2.00 30.00
- 1.00 2.00 1.00 8.00
- 1.00 2.00 2.00 20.00
- 2.00 1.00 1.00 2.00
- 2.00 1.00 2.00 22.00
- 2.00 2.00 1.00 1.00
- 2.00 2.00 2.00 3.00
-
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+LOCATION,EDITOR,SHELL,FREQ
+1.00,1.00,1.00,2.00
+1.00,1.00,2.00,30.00
+1.00,2.00,1.00,8.00
+1.00,2.00,2.00,20.00
+2.00,1.00,1.00,2.00
+2.00,1.00,2.00,22.00
+2.00,2.00,1.00,1.00
+2.00,2.00,2.00,3.00
+
+Table: Data List
+LOCATION,EDITOR,SHELL,FREQ
+1.00,1.00,1.00,2.00
+1.00,1.00,2.00,30.00
+1.00,2.00,1.00,8.00
+1.00,2.00,2.00,20.00
+2.00,1.00,1.00,2.00
+2.00,1.00,2.00,22.00
+2.00,2.00,1.00,1.00
+2.00,2.00,2.00,3.00
EOF
if [ $? -ne 0 ] ; then fail ; fi