--- /dev/null
+#!/bin/sh
+
+# This program tests ....
+
+TEMPDIR=/tmp/pspp-tst-$$
+
+here=`pwd`;
+
+# ensure that top_srcdir is absolute
+cd $top_srcdir; top_srcdir=`pwd`
+
+export STAT_CONFIG_PATH=$top_srcdir/config
+
+
+cleanup()
+{
+     rm -rf $TEMPDIR
+}
+
+
+fail()
+{
+    echo $activity
+    echo FAILED
+    cleanup;
+    exit 1;
+}
+
+
+no_result()
+{
+    echo $activity
+    echo NO RESULT;
+    cleanup;
+    exit 2;
+}
+
+pass()
+{
+    cleanup;
+    exit 0;
+}
+
+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.
+weight by BVAR.
+
+descriptives AVAR /statistics all /format serial.
+frequencies AVAR /statistics all /format condensed.
+
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+activity="run program"
+$here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/weight.stat
+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 "/tmp/pspp/tests/weighting.data".
++--------+------+-------+------+
+|Variable|Record|Columns|Format|
+#========#======#=======#======#
+|AVAR    |     1|  1-  5|F5.0  |
+|BVAR    |     1|  6- 10|F5.0  |
++--------+------+-------+------+
+
+2.1(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|
+#========#=======#=========#======#========#=======#========#========#========#
+|AVAR    #    730|        0|31.515|    .405| 10.937| 119.608|2548.162|    .181|
++--------#-------+---------+------+--------+-------+--------+--------+--------+
+
+2.1(2) DESCRIPTIVES.  Valid cases = 730; cases with missing value(s) = 0.
++--------#--------+--------+------+-------+-------+---------+
+|Variable#Skewness|S E Skew| Range|Minimum|Maximum|   Sum   |
+#========#========#========#======#=======#=======#=========#
+|AVAR    #   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         .000
+Mode           .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
+
+EOF
+if [ $? -ne 0 ] ; then fail ; fi
+
+
+pass;