TESTFILE=$TEMPDIR/match-files.pspp
-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
# 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()
{
+ cd /
rm -rf $TEMPDIR
:
}
if [ $? -ne 0 ] ; then no_result ; fi
activity="run $name.pspp"
- $SUPERVISOR $here/../src/pspp -o raw-ascii $name.pspp >/dev/null 2>&1
+ $SUPERVISOR $PSPP -o raw-ascii $name.pspp >/dev/null 2>&1
if [ $? -ne 0 ] ; then no_result ; fi
activity="check $name output"
- diff -b -w -B pspp.list $types.out
+ perl -pi -e 's/^\s*$//g' pspp.list
+ perl -pi -e 's/^\s*$//g' $types.out
+ diff -b -w pspp.list $types.out
if [ $? -ne 0 ] ; then fail ; fi
done
done
if [ $? -ne 0 ] ; then no_result ; fi
activity="run $name.pspp"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $name.pspp >/dev/null 2>&1
+$SUPERVISOR $PSPP -o raw-ascii $name.pspp >/dev/null 2>&1
if [ $? -ne 0 ] ; then no_result ; fi
activity="check $name output"
-diff -b -w -B - pspp.list <<EOF
+perl -pi -e 's/^\s*$//g' pspp.list
+diff -b -w - pspp.list <<EOF
A B C D E F
- - - - - -
0 a A 1 b N
EOF
if [ $? -ne 0 ] ; then fail ; fi
+# Test bug handling TABLE from active file found by John Darrington.
+name="active-table"
+activity="create $name.pspp"
+cat > $name.pspp <<EOF
+DATA LIST LIST NOTABLE /x * y *.
+BEGIN DATA
+3 30
+2 21
+1 22
+END DATA.
+
+SAVE OUTFILE='bar.sav'.
+
+DATA LIST LIST NOTABLE /x * z *.
+BEGIN DATA
+3 8
+2 9
+END DATA.
+
+MATCH FILES TABLE=* /FILE='bar.sav' /BY=x.
+LIST.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+activity="run $name.pspp"
+$SUPERVISOR $PSPP -o raw-ascii $name.pspp >/dev/null 2>&1
+if [ $? -ne 0 ] ; then no_result ; fi
+
+activity="check $name output"
+perl -pi -e 's/^\s*$//g' pspp.list
+diff -b -w - pspp.list <<EOF | perl -e 's/^\s*$//g'
+ x z y
+ -------- -------- --------
+ 3.00 8.00 30.00
+ 2.00 . 21.00
+ 1.00 . 22.00
+EOF
+if [ $? -ne 0 ] ; then fail ; fi
+
+
pass;