Fix bug encodig missing value keys in gui
[pspp-builds.git] / tests / stats / percentiles-enhanced.sh
index 13b24c29913f9dfcaf994a2a08e5c62a17fb2858..4e30d20b8dddb2931df44031fc3438ccfeeb01b5 100755 (executable)
@@ -5,19 +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
-     :
 }
 
 
@@ -70,38 +81,38 @@ 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"
-diff -B -b $TEMPDIR/pspp.list - <<EOF
-1.1 FREQUENCIES.  X: 
+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|
+|           |    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.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|
-+-------------------+-----+
++-----------------------+----+
+|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
 
@@ -133,38 +144,38 @@ 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"
-diff -B -b $TEMPDIR/pspp.list - <<EOF
-1.1 FREQUENCIES.  X: 
+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|
+|           |    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|   100.0|   100.0|        |
+|               Total|    10.00|   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|
-+-------------------+-----+
++-----------------------+-----+
+|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
 
@@ -194,37 +205,37 @@ 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"
-diff -B -b $TEMPDIR/pspp.list - <<EOF
-1.1 FREQUENCIES.  X: 
+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|
+|           |    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|   100.0|   100.0|        |
+|               Total|     6.00|   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|
-+-------------------+-----+
++-----------------------+----+
+|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
 
@@ -254,38 +265,38 @@ 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"
-diff -B -b $TEMPDIR/pspp.list - <<EOF
-1.1 FREQUENCIES.  X: 
+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|        |
+|           |    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|   100.0|   100.0|        |
+|               Total|    10.00|   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|
-+-------------------+-----+
++-----------------------+----+
+|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