Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / weight.sh
index aaa633bcf887299ed3bf8a70a43d6305179f47b7..40a3ca9c4e32e77dfcf27643d4bdf0babcddc15c 100755 (executable)
@@ -3,17 +3,31 @@
 # This program tests the WEIGHT command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
-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`
 
-export STAT_CONFIG_PATH=$top_srcdir/config
+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
 }
 
@@ -46,111 +60,105 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/weight.stat <<EOF
-data list file='$here/weighting.data'/AVAR 1-5 BVAR 6-10.
+cat > $TESTFILE << EOF
+SET FORMAT F8.3.
+data list file='$top_srcdir/tests/weighting.data'/AVAR 1-5 BVAR 6-10.
 weight by BVAR.
 
 descriptives AVAR /statistics all /format serial.
-frequencies AVAR /statistics all /format condensed.
+frequencies AVAR /statistics all /format condense.
 
 EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/weight.stat
+$SUPERVISOR $PSPP --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare results"
-diff -B -b $TEMPDIR/pspp.list - <<EOF
-1.1 DATA LIST.  Reading 1 record from file "$here/weighting.data".
-+--------+------+-------+------+
-|Variable|Record|Columns|Format|
-#========#======#=======#======#
-|AVAR    |     1|  1-  5|F5.0  |
-|BVAR    |     1|  6- 10|F5.0  |
-+--------+------+-------+------+
-
-2.1 DESCRIPTIVES.  Valid cases = 730; cases with missing value(s) = 0.
-+--------#-------+---------+------+--------+-------+--------+--------+--------+--------+--------+------+-------+-------+---------+
-|Variable#Valid N|Missing N| Mean |S E Mean|Std Dev|Variance|Kurtosis|S E Kurt|Skewness|S E Skew| Range|Minimum|Maximum|   Sum   |
-#========#=======#=========#======#========#=======#========#========#========#========#========#======#=======#=======#=========#
-|AVAR    #    730|        0|31.515|    .405| 10.937| 119.608|2548.162|    .181|   1.345|    .090|76.000| 18.000| 94.000|23006.000|
-+--------#-------+---------+------+--------+-------+--------+--------+--------+--------+--------+------+-------+-------+---------+
-
-3.1 FREQUENCIES.  AVAR: 
-+--------+--------+---+---+
-|        |        |   |Cum|
-|  Value |  Freq  |Pct|Pct|
-#========#========#===#===#
-|      18|       1|  0|  0|
-|      19|       7|  1|  1|
-|      20|      26|  4|  5|
-|      21|      76| 10| 15|
-|      22|      57|  8| 23|
-|      23|      58|  8| 31|
-|      24|      38|  5| 36|
-|      25|      38|  5| 41|
-|      26|      30|  4| 45|
-|      27|      21|  3| 48|
-|      28|      23|  3| 51|
-|      29|      24|  3| 55|
-|      30|      23|  3| 58|
-|      31|      14|  2| 60|
-|      32|      21|  3| 63|
-|      33|      21|  3| 65|
-|      34|      14|  2| 67|
-|      35|      14|  2| 69|
-|      36|      17|  2| 72|
-|      37|      11|  2| 73|
-|      38|      16|  2| 75|
-|      39|      14|  2| 77|
-|      40|      15|  2| 79|
-|      41|      14|  2| 81|
-|      42|      14|  2| 83|
-|      43|       8|  1| 84|
-|      44|      15|  2| 86|
-|      45|      10|  1| 88|
-|      46|      12|  2| 89|
-|      47|      13|  2| 91|
-|      48|      13|  2| 93|
-|      49|       5|  1| 94|
-|      50|       5|  1| 94|
-|      51|       3|  0| 95|
-|      52|       7|  1| 96|
-|      53|       6|  1| 96|
-|      54|       2|  0| 97|
-|      55|       2|  0| 97|
-|      56|       2|  0| 97|
-|      57|       3|  0| 98|
-|      58|       1|  0| 98|
-|      59|       3|  0| 98|
-|      61|       1|  0| 98|
-|      62|       3|  0| 99|
-|      63|       1|  0| 99|
-|      64|       1|  0| 99|
-|      65|       2|  0| 99|
-|      70|       1|  0| 99|
-|      78|       1|  0|100|
-|      79|       1|  0|100|
-|      80|       1|  0|100|
-|      94|       1|  0|100|
-+--------+--------+---+---+
-
-Mean         31.515
-S.E. Mean      .405
-Median         .   
-Mode         21.000
-Std Dev      10.937
-Variance    119.608
-Kurtosis      2.411
-S.E. Kurt      .181
-Skewness      1.345
-S.E. Skew      .090
-Range        76.000
-Minimum      18.000
-Maximum      94.000
-Sum       23006.000
+diff -c $TEMPDIR/pspp.csv - <<EOF
+"Table: Reading 1 record from ""$top_srcdir/tests/weighting.data""."
+Variable,Record,Columns,Format
+AVAR,1,1-  5,F5.0
+BVAR,1,6- 10,F5.0
+
+Table: Valid cases = 730; cases with missing value(s) = 0.
+Variable,Valid N,Missing N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
+AVAR,730,0,31.515,.405,10.937,119.608,2.411,.181,1.345,.090,76.000,18.000,94.000,23006.00
+
+Table: AVAR
+,,,Cum
+Value,Freq,Pct,Pct
+18,1,.137,.137
+19,7,.959,1.096
+20,26,3.562,4.658
+21,76,10.411,15.068
+22,57,7.808,22.877
+23,58,7.945,30.822
+24,38,5.205,36.027
+25,38,5.205,41.233
+26,30,4.110,45.342
+27,21,2.877,48.219
+28,23,3.151,51.370
+29,24,3.288,54.658
+30,23,3.151,57.808
+31,14,1.918,59.726
+32,21,2.877,62.603
+33,21,2.877,65.479
+34,14,1.918,67.397
+35,14,1.918,69.315
+36,17,2.329,71.644
+37,11,1.507,73.151
+38,16,2.192,75.342
+39,14,1.918,77.260
+40,15,2.055,79.315
+41,14,1.918,81.233
+42,14,1.918,83.151
+43,8,1.096,84.247
+44,15,2.055,86.301
+45,10,1.370,87.671
+46,12,1.644,89.315
+47,13,1.781,91.096
+48,13,1.781,92.877
+49,5,.685,93.562
+50,5,.685,94.247
+51,3,.411,94.658
+52,7,.959,95.616
+53,6,.822,96.438
+54,2,.274,96.712
+55,2,.274,96.986
+56,2,.274,97.260
+57,3,.411,97.671
+58,1,.137,97.808
+59,3,.411,98.219
+61,1,.137,98.356
+62,3,.411,98.767
+63,1,.137,98.904
+64,1,.137,99.041
+65,2,.274,99.315
+70,1,.137,99.452
+78,1,.137,99.589
+79,1,.137,99.726
+80,1,.137,99.863
+94,1,.137,100.000
+
+N,Valid,730
+,Missing,0
+Mean,,31.515
+S.E. Mean,,.405
+Mode,,21.000
+Std Dev,,10.937
+Variance,,119.608
+Kurtosis,,2.411
+S.E. Kurt,,.181
+Skewness,,1.345
+S.E. Skew,,.090
+Range,,76.000
+Minimum,,18.000
+Maximum,,94.000
+Sum,,23006.00
+Percentiles,50 (Median),29
 EOF
 if [ $? -ne 0 ] ; then fail ; fi