Rewrite PSPP output engine.
[pspp-builds.git] / tests / stats / percentiles-enhanced.sh
index 6d6e2b03126fb7982e4f1a604ce0dd8313942e31..5c5accbbcf636269d497307983571ba1fc1eedcb 100755 (executable)
@@ -23,9 +23,12 @@ export LANG
 
 cleanup()
 {
+     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
+       echo "NOT cleaning $TEMPDIR" 
+       return ; 
+     fi
      cd /
      rm -rf $TEMPDIR
-     :
 }
 
 
@@ -82,34 +85,27 @@ $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 (Median)|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
 
@@ -145,34 +141,27 @@ $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 (Median)|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
 
@@ -206,33 +195,26 @@ $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 (Median)|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
 
@@ -266,34 +248,27 @@ $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 (Median)|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