tests: Convert test for UNIFORM expression function to Autotest framework.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 10 Oct 2010 19:57:27 +0000 (12:57 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 10 Oct 2010 19:57:27 +0000 (12:57 -0700)
tests/automake.mk
tests/bugs/random.sh [deleted file]
tests/language/expressions/evaluate.at

index 2193471415090077d334636c63e355261d324cd9..e14cd23de5804207985defc382a3c2956e6fc7c6 100644 (file)
@@ -32,7 +32,6 @@ dist_TESTS = \
        tests/bugs/multipass.sh \
        tests/bugs/overwrite-input-file.sh \
        tests/bugs/overwrite-special-file.sh \
-       tests/bugs/random.sh \
        tests/bugs/shbang.sh \
        tests/bugs/signals.sh \
        tests/bugs/temporary.sh \
diff --git a/tests/bugs/random.sh b/tests/bugs/random.sh
deleted file mode 100755 (executable)
index 716ed33..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-
-# This program tests for a bug which caused UNIFORM(x) to always return zero.
-
-
-TEMPDIR=/tmp/pspp-tst-$$
-TESTFILE=$TEMPDIR/`basename $0`.sps
-
-# 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$EXEEXT
-
-# ensure that top_srcdir is absolute
-top_srcdir=`cd $top_srcdir; pwd`
-
-STAT_CONFIG_PATH=$top_srcdir/config
-export STAT_CONFIG_PATH
-
-
-cleanup()
-{
-     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
-       echo "NOT cleaning $TEMPDIR" 
-       return ; 
-     fi
-     cd /
-     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 > $TESTFILE <<EOF
-set seed=10.
-input program.
-+ loop #i = 1 to 20.
-+    do repeat response=R1.
-+       compute response = uniform(10).
-+    end repeat.
-+    end case.
-+ end loop.
-+ end file.
-end input program.
-
-list.
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-activity="run program"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="compare output"
-perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.csv
-diff -b  -w $TEMPDIR/pspp.csv - << EOF
-Table: Data List
-R1
-7.71
-2.99
-.21
-4.95
-6.34
-4.43
-7.49
-8.32
-4.99
-5.83
-2.25
-.25
-1.98
-7.09
-7.61
-2.66
-1.69
-2.64
-.88
-1.50
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-pass;
index 01db036efc1cc6599d3f0874c94dec4af9088b14..f712b4c047eaa2d0a85c3fd3c9821680b5b77894 100644 (file)
@@ -1899,3 +1899,46 @@ x,F8.0
 hello
 ])
 AT_CLEANUP
+
+dnl Tests for a bug which caused UNIFORM(x) to always return zero.
+AT_SETUP([UNIFORM function])
+AT_DATA([uniform.sps], [dnl
+set seed=10.
+input program.
++ loop #i = 1 to 20.
++    do repeat response=R1.
++       compute response = uniform(10).
++    end repeat.
++    end case.
++ end loop.
++ end file.
+end input program.
+
+list.
+])
+AT_CHECK([pspp -o pspp.csv uniform.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Data List
+R1
+7.71
+2.99
+.21
+4.95
+6.34
+4.43
+7.49
+8.32
+4.99
+5.83
+2.25
+.25
+1.98
+7.09
+7.61
+2.66
+1.69
+2.64
+.88
+1.50
+])
+AT_CLEANUP