Fix tests/command/sample.sh test on Mingw.
[pspp-builds.git] / tests / command / sample.sh
index b5ab80e71fbee50de4f0b2fd840c5913afed97fd..fc856a4adfbfc2f0ccab2743d482d5cb30582157 100755 (executable)
@@ -3,17 +3,28 @@
 # This program tests the SAMPLE function
 
 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
 }
 
@@ -50,7 +61,7 @@ activity="create program"
 cat > $TEMPDIR/sample.stat <<EOF
 set seed=3
 
-data list /a 1-2.
+data list notable /A 1-2.
 begin data.
 1
 2
@@ -70,25 +81,46 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$here/../src/pspp -o raw-ascii --testing-mode $TEMPDIR/sample.stat 
+$SUPERVISOR $PSPP --testing-mode $TEMPDIR/sample.stat 
 if [ $? -ne 0 ] ; then no_result ; fi
 
-activity="compare results"
-diff -B -b $TEMPDIR/pspp.list - << EOF
-1.1 DATA LIST.  Reading 1 record from the command file.
-+--------+------+-------+------+
-|Variable|Record|Columns|Format|
-#========#======#=======#======#
-|A       |     1|  1-  2|F2.0  |
-+--------+------+-------+------+
+activity="create head"
+grep -v '^[ \r]*$' $TEMPDIR/pspp.list | head -2 > $TEMPDIR/head
+if [ $? -ne 0 ] ; then no_result ; fi
+
+activity="extract data"
+grep  '[0-9][0-9]*' $TEMPDIR/pspp.list > $TEMPDIR/data
+if [ $? -ne 0 ] ; then no_result ; fi
 
+
+activity="compare head"
+perl -pi -e 's/^\s*$//g' $TEMPDIR/head
+diff -b $TEMPDIR/head - << EOF
  A
 --
- 2
- 6
- 9 
-10 
 EOF
 if [ $? -ne 0 ] ; then fail ; fi
 
+activity="compare data"
+diff -w $TEMPDIR/data - << EOF > $TEMPDIR/diffs
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+EOF
+# note   vv 
+if [ $? -eq 0 ] ; then fail ; fi
+
+# Check that there was nothing added
+grep '^<' $TEMPDIR/diffs
+# note   vv
+if [ $? -eq 0 ] ; then fail ; fi
+
+
 pass;