Initial version
[pspp] / tests / command / match-files.sh
index 77fb3ce5c536fc2cd26ef0507f6ab74d35e0bf32..7864921f72d1208075422900440631495e7deef3 100755 (executable)
@@ -12,10 +12,12 @@ here=`pwd`;
 cd $top_srcdir; 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
     :
 }
@@ -163,7 +165,9 @@ EOF
        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
@@ -186,7 +190,8 @@ $SUPERVISOR $here/../src/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 |perl -e 's/^\s*$//g'
 A B C D E F
 - - - - - -
 0 a A 1 b N
@@ -205,4 +210,44 @@ A B C D E F
 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 $here/../src/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;