Rewrite PSPP output engine.
[pspp-builds.git] / tests / stats / percentiles-enhanced.sh
index 4a2c167e2eda2a1b088370b006b38e42482c2dec..5c5accbbcf636269d497307983571ba1fc1eedcb 100755 (executable)
@@ -17,12 +17,18 @@ 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
-     :
 }
 
 
@@ -75,38 +81,31 @@ EOF
 if [ $? -ne 0 ] ; then no_result; fi
 
 activity="run program $i"
-$SUPERVISOR $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     |2.000|
-|            50     |3.000|
-|            75     |4.000|
-|            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,2.00
+,50 (Median),3.00
+,75,4.00
+,100,5.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi
 
@@ -138,38 +137,31 @@ if [ $? -ne 0 ] ; then no_result; fi
 
 
 activity="run program $i"
-$SUPERVISOR $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|        2|    20.0|    20.0|    20.0|
-|           |    2.00|        2|    20.0|    20.0|    40.0|
-|           |    3.00|        2|    20.0|    20.0|    60.0|
-|           |    4.00|        2|    20.0|    20.0|    80.0|
-|           |    5.00|        2|    20.0|    20.0|   100.0|
-#===========#========#=========#========#========#========#
-|               Total|       10|   100.0|   100.0|        |
-+--------------------+---------+--------+--------+--------+
-+-------------------+-----+
-|N           Valid  |   10|
-|            Missing|    0|
-|Mean               |3.000|
-|Std Dev            |1.491|
-|Minimum            |1.000|
-|Maximum            |5.000|
-|Percentiles 0      |1.000|
-|            25     |2.000|
-|            50     |3.000|
-|            75     |4.000|
-|            100    |5.000|
-+-------------------+-----+
+diff -c $TEMPDIR/pspp.csv - <<EOF
+Table: X
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,1.00,2.00,20.00,20.00,20.00
+,2.00,2.00,20.00,20.00,40.00
+,3.00,2.00,20.00,20.00,60.00
+,4.00,2.00,20.00,20.00,80.00
+,5.00,2.00,20.00,20.00,100.00
+Total,,10.00,100.0,100.0,
+
+N,Valid,10.00
+,Missing,.00
+Mean,,3.00
+Std Dev,,1.49
+Minimum,,1.00
+Maximum,,5.00
+Percentiles,0,1.00
+,25,2.00
+,50 (Median),3.00
+,75,4.00
+,100,5.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi
 
@@ -199,37 +191,30 @@ if [ $? -ne 0 ] ; then no_result; fi
 
 
 activity="run program $i"
-$SUPERVISOR $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|    16.7|    16.7|    16.7|
-|           |    3.00|        2|    33.3|    33.3|    50.0|
-|           |    4.00|        1|    16.7|    16.7|    66.7|
-|           |    5.00|        2|    33.3|    33.3|   100.0|
-#===========#========#=========#========#========#========#
-|               Total|        6|   100.0|   100.0|        |
-+--------------------+---------+--------+--------+--------+
-+-------------------+-----+
-|N           Valid  |    6|
-|            Missing|    0|
-|Mean               |3.500|
-|Std Dev            |1.517|
-|Minimum            |1.000|
-|Maximum            |5.000|
-|Percentiles 0      |1.000|
-|            25     |3.000|
-|            50     |3.500|
-|            75     |4.750|
-|            100    |5.000|
-+-------------------+-----+
+diff -c $TEMPDIR/pspp.csv - <<EOF
+Table: X
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,1.00,1.00,16.67,16.67,16.67
+,3.00,2.00,33.33,33.33,50.00
+,4.00,1.00,16.67,16.67,66.67
+,5.00,2.00,33.33,33.33,100.00
+Total,,6.00,100.0,100.0,
+
+N,Valid,6.00
+,Missing,.00
+Mean,,3.50
+Std Dev,,1.52
+Minimum,,1.00
+Maximum,,5.00
+Percentiles,0,1.00
+,25,3.00
+,50 (Median),3.50
+,75,4.75
+,100,5.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi
 
@@ -259,38 +244,31 @@ if [ $? -ne 0 ] ; then no_result; fi
 
 
 activity="run program $i"
-$SUPERVISOR $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|    10.0|    16.7|    16.7|
-|           |    3.00|        2|    20.0|    33.3|    50.0|
-|           |    4.00|        1|    10.0|    16.7|    66.7|
-|           |    5.00|        2|    20.0|    33.3|   100.0|
-|           |   99.00|        4|    40.0| Missing|        |
-#===========#========#=========#========#========#========#
-|               Total|       10|   100.0|   100.0|        |
-+--------------------+---------+--------+--------+--------+
-+-------------------+-----+
-|N           Valid  |    6|
-|            Missing|    4|
-|Mean               |3.500|
-|Std Dev            |1.517|
-|Minimum            |1.000|
-|Maximum            |5.000|
-|Percentiles 0      |1.000|
-|            25     |3.000|
-|            50     |3.500|
-|            75     |4.750|
-|            100    |5.000|
-+-------------------+-----+
+diff -c $TEMPDIR/pspp.csv - <<EOF
+Table: X
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,1.00,1.00,10.00,16.67,16.67
+,3.00,2.00,20.00,33.33,50.00
+,4.00,1.00,10.00,16.67,66.67
+,5.00,2.00,20.00,33.33,100.00
+,99.00,4.00,40.00,Missing,
+Total,,10.00,100.0,100.0,
+
+N,Valid,6.00
+,Missing,4.00
+Mean,,3.50
+Std Dev,,1.52
+Minimum,,1.00
+Maximum,,5.00
+Percentiles,0,1.00
+,25,3.00
+,50 (Median),3.50
+,75,4.75
+,100,5.00
 EOF
 if [ $? -ne 0 ] ; then fail ; fi