Add test for multipass procedure bug.
authorBen Pfaff <blp@gnu.org>
Wed, 31 Mar 2004 06:11:10 +0000 (06:11 +0000)
committerBen Pfaff <blp@gnu.org>
Wed, 31 Mar 2004 06:11:10 +0000 (06:11 +0000)
tests/ChangeLog
tests/Makefile.am
tests/bugs/multipass.sh [new file with mode: 0755]

index e065558f7bfe3ec816c717cd3b8aef5ff8d2e00a..c45621ae8af41f992990263ddc9de9d783a891b1 100644 (file)
@@ -1,3 +1,7 @@
+Tue Mar 30 22:10:08 2004  Ben Pfaff  <blp@gnu.org>
+
+       * Makefile.am: (TESTS) Add bugs/multipass.sh.
+
 Mon Mar 29 15:25:09 2004  Ben Pfaff  <blp@gnu.org>
 
        * Makefile.am: (TESTS) Add xforms/casefile.sh,
index 2df0749e1552f9986ea5bfd19098e8caee7c94fc..d51bd44e679238bad7105646e85e410e4df5e651 100644 (file)
@@ -37,6 +37,7 @@ TESTS = command/aggregate.sh \
        bugs/html-frequency.sh \
        bugs/crosstabs.sh \
        bugs/data-crash.sh \
+       bugs/multipass.sh \
        bugs/random.sh \
        bugs/t-test.sh \
        bugs/temporary.sh \
diff --git a/tests/bugs/multipass.sh b/tests/bugs/multipass.sh
new file mode 100755 (executable)
index 0000000..0042354
--- /dev/null
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# This program tests for a bug which caused UNIFORM(x) to always return zero.
+
+
+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/rnd.sps <<EOF
+data list list /id * abc *.
+begin data.
+1 3.5
+2 2.0
+3 2.0
+4 3.5
+5 3.0
+6 4.0
+7 5.0
+end data.
+
+TEMPORARY.
+SELECT IF id < 7 .
+
+DESCRIPTIVES
+        /VAR=abc.
+EOF
+if [ $? -ne 0 ] ; then no_result ; fi
+
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/rnd.sps
+if [ $? -ne 0 ] ; then no_result ; fi
+
+
+diff -b -B -w $TEMPDIR/pspp.list - << EOF
+1.1 DATA LIST.  Reading free-form data from the command file.
++--------+------+
+|Variable|Format|
+#========#======#
+|ID      |F8.0  |
+|ABC     |F8.0  |
++--------+------+
+
+2.1 DESCRIPTIVES.  Valid cases = 6; cases with missing value(s) = 0.
++--------#-+-----+-------+-------+-------+
+|Variable#N| Mean|Std Dev|Minimum|Maximum|
+#========#=#=====#=======#=======#=======#
+|ABC     #6|3.000|   .837|  2.000|  4.000|
++--------#-+-----+-------+-------+-------+
+EOF
+if [ $? -ne 0 ] ; then fail ; fi
+
+pass;