Rewrite PSPP output engine.
[pspp-builds.git] / tests / stats / percentiles-compatible.sh
index d4671bfc6cdaa5f9f0110a39c8fea498284c7ff5..2d539a1d24ce6858eb45778051f36e405932e26d 100755 (executable)
@@ -5,20 +5,30 @@
 
 TEMPDIR=/tmp/pspp-tst-$$
 
-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`
 
 STAT_CONFIG_PATH=$top_srcdir/config
 export STAT_CONFIG_PATH
 
+LANG=C
+export LANG
+
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
-     :
 }
 
 
@@ -72,38 +82,31 @@ EOF
 if [ $? -ne 0 ] ; then no_result; fi
 
 activity="run program $i"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/prog.sps
+$SUPERVISOR $PSPP --testing-mode $TEMPDIR/prog.sps
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare output $i"
-perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
-diff  -b $TEMPDIR/pspp.list - <<EOF
-1.1 FREQUENCIES.  X: 
-+-----------+--------+---------+--------+--------+--------+
-|           |        |         |        |  Valid |   Cum  |
-|Value Label|  Value |Frequency| Percent| Percent| Percent|
-#===========#========#=========#========#========#========#
-|           |    1.00|        1|    20.0|    20.0|    20.0|
-|           |    2.00|        1|    20.0|    20.0|    40.0|
-|           |    3.00|        1|    20.0|    20.0|    60.0|
-|           |    4.00|        1|    20.0|    20.0|    80.0|
-|           |    5.00|        1|    20.0|    20.0|   100.0|
-#===========#========#=========#========#========#========#
-|               Total|        5|   100.0|   100.0|        |
-+--------------------+---------+--------+--------+--------+
-+-------------------+-----+
-|N           Valid  |    5|
-|            Missing|    0|
-|Mean               |3.000|
-|Std Dev            |1.581|
-|Minimum            |1.000|
-|Maximum            |5.000|
-|Percentiles 0      |1.000|
-|            25     |1.500|
-|            50     |3.000|
-|            75     |4.500|
-|            100    |5.000|
-+-------------------+-----+
+diff -c $TEMPDIR/pspp.csv - <<EOF
+Table: X
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,1.00,1,20.00,20.00,20.00
+,2.00,1,20.00,20.00,40.00
+,3.00,1,20.00,20.00,60.00
+,4.00,1,20.00,20.00,80.00
+,5.00,1,20.00,20.00,100.00
+Total,,5,100.0,100.0,
+
+N,Valid,5
+,Missing,0
+Mean,,3.00
+Std Dev,,1.58
+Minimum,,1.00
+Maximum,,5.00
+Percentiles,0,1.00
+,25,1.50
+,50 (Median),3.00
+,75,4.50
+,100,5.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi