SAMPLE: Convert test to Autotest framework.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 4 Oct 2010 22:27:36 +0000 (15:27 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 5 Oct 2010 00:34:38 +0000 (17:34 -0700)
tests/automake.mk
tests/command/sample.sh [deleted file]
tests/language/xforms/sample.at [new file with mode: 0644]

index 92398409de17d852f1c9da617c8c71168d9040b7..bf67340075874f5b2ae3d31423dfa8bdfa62dd00 100644 (file)
@@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C
 TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
 
 dist_TESTS = \
-       tests/command/sample.sh \
        tests/command/sort.sh \
        tests/command/sysfiles.sh \
        tests/command/sysfiles-old.sh \
@@ -384,6 +383,7 @@ TESTSUITE_AT = \
        tests/language/xforms/compute.at \
        tests/language/xforms/count.at \
        tests/language/xforms/recode.at \
+       tests/language/xforms/sample.at \
        tests/language/xforms/select-if.at \
        tests/libpspp/abt.at \
        tests/libpspp/bt.at \
diff --git a/tests/command/sample.sh b/tests/command/sample.sh
deleted file mode 100755 (executable)
index eb58b06..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-
-# This program tests the SAMPLE function
-
-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 > $TEMPDIR/sample.stat <<EOF
-set seed=3
-
-data list notable /A 1-2.
-begin data.
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-end data.
-sample .5.
-list.
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program"
-$SUPERVISOR $PSPP -o pspp.csv $TEMPDIR/sample.stat 
-if [ $? -ne 0 ] ; then no_result ; fi
-
-activity="create head"
-grep -v '^[ \r]*$' $TEMPDIR/pspp.csv | head -1 > $TEMPDIR/head
-if [ $? -ne 0 ] ; then no_result ; fi
-
-activity="extract data"
-grep  '[0-9][0-9]*' $TEMPDIR/pspp.csv > $TEMPDIR/data
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="compare head"
-diff -b $TEMPDIR/head - << EOF
-Table: Data List
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-activity="compare data"
-diff -w $TEMPDIR/data - << EOF > $TEMPDIR/diffs
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-EOF
-# note   vv 
-if [ $? -eq 0 ] ; then fail ; fi
-
-# Check that there was nothing added
-grep '^<' $TEMPDIR/diffs
-# note   vv
-if [ $? -eq 0 ] ; then fail ; fi
-
-
-pass;
diff --git a/tests/language/xforms/sample.at b/tests/language/xforms/sample.at
new file mode 100644 (file)
index 0000000..912fb4f
--- /dev/null
@@ -0,0 +1,36 @@
+AT_BANNER([SAMPLE])
+
+AT_SETUP([SAMPLE])
+AT_DATA([sample.sps], [dnl
+set seed=3
+
+data list notable /A 1-2.
+begin data.
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+end data.
+sample .5.
+list.
+])
+AT_CHECK([pspp -o pspp.csv sample.sps])
+AT_CAPTURE_FILE([pspp.csv])
+AT_CHECK(
+  [n=0
+   while read line; do
+     n=`expr $n + 1`
+     case $line in # (
+       "Table: Data List" | A | [[0-9]] | 10) ;; # (
+       *) echo $line; exit 1;
+     esac
+   done < pspp.csv
+   if test $n -ge 11; then exit 1; fi
+  ])
+AT_CLEANUP