tests: Convert longvar.sh test to Autotest framework.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 2 Oct 2010 20:03:28 +0000 (13:03 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 2 Oct 2010 20:03:28 +0000 (13:03 -0700)
tests/automake.mk
tests/command/longvars.sh [deleted file]
tests/language/lexer/variable-parser.at [new file with mode: 0644]

index 4393793b9015df00203e7a93338385c171075af5..285522955e04eb730508f3b1d233320f4b323dc8 100644 (file)
@@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C
 TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
 
 dist_TESTS = \
-       tests/command/longvars.sh \
        tests/command/match-files.sh \
        tests/command/missing-values.sh \
        tests/command/no_case_size.sh \
@@ -378,6 +377,7 @@ TESTSUITE_AT = \
        tests/language/dictionary/attributes.at \
        tests/language/dictionary/mrsets.at \
        tests/language/expressions/evaluate.at \
+       tests/language/lexer/variable-parser.at \
        tests/language/stats/aggregate.at \
        tests/language/stats/autorecode.at \
        tests/language/stats/correlations.at \
diff --git a/tests/command/longvars.sh b/tests/command/longvars.sh
deleted file mode 100755 (executable)
index acd0de2..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/sh
-
-# This program tests that both long and short variable names are parsed OK.
-
-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
-
-LANG=C
-export LANG
-
-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
-
-# Use crosstabs, since its TABLES subcommand exercises the array var set 
-# feature.
-activity="create program"
-cat > $TESTFILE <<EOF
-DATA LIST LIST /AlphaBetaGamma * B * X * Yabbadabbadoo * .
-BEGIN DATA.
-2 3 4 5
-END DATA.
-
-LIST.
-
-CROSSTABS 
-       VARIABLES X (1,7) Yabbadabbadoo (1,7) 
-       /TABLES X BY Yabbadabbadoo.
-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"
-diff -c $TEMPDIR/pspp.csv - <<EOF
-Table: Reading free-form data from INLINE.
-Variable,Format
-AlphaBetaGamma,F8.0
-B,F8.0
-X,F8.0
-Yabbadabbadoo,F8.0
-
-Table: Data List
-AlphaBetaGamma,B,X,Yabbadabbadoo
-2.00,3.00,4.00,5.00
-
-Table: Summary.
-,Cases,,,,,
-,Valid,,Missing,,Total,
-,N,Percent,N,Percent,N,Percent
-X * Yabbadabbadoo,1,100.0%,0,0.0%,1,100.0%
-
-Table: X * Yabbadabbadoo [count].
-,Yabbadabbadoo,,,,,,,
-X,1.00,2.00,3.00,4.00,5.00,6.00,7.00,Total
-1.00,.0,.0,.0,.0,.0,.0,.0,.0
-2.00,.0,.0,.0,.0,.0,.0,.0,.0
-3.00,.0,.0,.0,.0,.0,.0,.0,.0
-4.00,.0,.0,.0,.0,1.0,.0,.0,1.0
-5.00,.0,.0,.0,.0,.0,.0,.0,.0
-6.00,.0,.0,.0,.0,.0,.0,.0,.0
-7.00,.0,.0,.0,.0,.0,.0,.0,.0
-Total,.0,.0,.0,.0,1.0,.0,.0,1.0
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-pass
diff --git a/tests/language/lexer/variable-parser.at b/tests/language/lexer/variable-parser.at
new file mode 100644 (file)
index 0000000..f5aed6b
--- /dev/null
@@ -0,0 +1,50 @@
+AT_BANNER([Variable parser])
+
+dnl This program tests that both long and short variable names are parsed OK.
+dnl It use CROSSTABS, since its TABLES subcommand exercises the array var set 
+dnl feature.
+AT_SETUP([Long variable names])
+AT_DATA([longvars.sps], [dnl
+DATA LIST LIST /AlphaBetaGamma * B * X * Yabbadabbadoo * .
+BEGIN DATA.
+2 3 4 5
+END DATA.
+
+LIST.
+
+CROSSTABS 
+       VARIABLES X (1,7) Yabbadabbadoo (1,7) 
+       /TABLES X BY Yabbadabbadoo.
+])
+AT_CHECK([pspp -o pspp.csv longvars.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Reading free-form data from INLINE.
+Variable,Format
+AlphaBetaGamma,F8.0
+B,F8.0
+X,F8.0
+Yabbadabbadoo,F8.0
+
+Table: Data List
+AlphaBetaGamma,B,X,Yabbadabbadoo
+2.00,3.00,4.00,5.00
+
+Table: Summary.
+,Cases,,,,,
+,Valid,,Missing,,Total,
+,N,Percent,N,Percent,N,Percent
+X * Yabbadabbadoo,1,100.0%,0,0.0%,1,100.0%
+
+Table: X * Yabbadabbadoo [[count]].
+,Yabbadabbadoo,,,,,,,
+X,1.00,2.00,3.00,4.00,5.00,6.00,7.00,Total
+1.00,.0,.0,.0,.0,.0,.0,.0,.0
+2.00,.0,.0,.0,.0,.0,.0,.0,.0
+3.00,.0,.0,.0,.0,.0,.0,.0,.0
+4.00,.0,.0,.0,.0,1.0,.0,.0,1.0
+5.00,.0,.0,.0,.0,.0,.0,.0,.0
+6.00,.0,.0,.0,.0,.0,.0,.0,.0
+7.00,.0,.0,.0,.0,.0,.0,.0,.0
+Total,.0,.0,.0,.0,1.0,.0,.0,1.0
+])
+AT_CLEANUP