Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / filter.sh
index 180b59f68a99f5a59ba046c05344cb559b72248b..4c9c416151405e6e307f533038217f3cda5b6c7d 100755 (executable)
@@ -3,17 +3,28 @@
 # This program tests ....
 
 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
 
 # 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
 }
 
@@ -46,8 +57,8 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/filter.stat << EOF
-data list notable /x 1-2.
+cat > $TESTFILE << EOF
+data list notable /X 1-2.
 begin data.
 1
 2
@@ -60,7 +71,7 @@ begin data.
 9
 10
 end data.
-compute filter_$ = mod(x,2).
+compute FILTER_$ = mod(x,2).
 
 filter by filter_$.
 list.
@@ -75,41 +86,40 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/filter.stat
+$SUPERVISOR $PSPP --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="check results"
-diff -B -b $TEMPDIR/pspp.list - << EOF
- X FILTER_$
--- --------
- 1     1.00 
- 3     1.00 
- 5     1.00 
- 7     1.00 
- 9     1.00 
-
- X FILTER_$
--- --------
- 1     1.00 
- 2      .00 
- 3     1.00 
- 4      .00 
- 5     1.00 
- 6      .00 
- 7     1.00 
- 8      .00 
- 9     1.00 
-10      .00 
-
- X FILTER_$
--- --------
- 2     1.00 
- 4     1.00 
- 6     1.00 
- 8     1.00 
-10     1.00 
-
+diff -c $TEMPDIR/pspp.csv - << EOF
+Table: Data List
+X,FILTER_$
+1,1.00
+3,1.00
+5,1.00
+7,1.00
+9,1.00
+
+Table: Data List
+X,FILTER_$
+1,1.00
+2,.00
+3,1.00
+4,.00
+5,1.00
+6,.00
+7,1.00
+8,.00
+9,1.00
+10,.00
+
+Table: Data List
+X,FILTER_$
+2,1.00
+4,1.00
+6,1.00
+8,1.00
+10,1.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi