AUTORECODE: Use Autotest for test suite.
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 2 Apr 2010 23:53:07 +0000 (16:53 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 13 Apr 2010 05:33:01 +0000 (22:33 -0700)
tests/automake.mk
tests/command/autorecod.sh [deleted file]
tests/language/stats/autorecode.at [new file with mode: 0644]
tests/testsuite.at

index 3b3f14a73d835d656691f53223fbffefc7ac48f3..e392270e709bb94d8f755514f6b9fbcb7e69078f 100644 (file)
@@ -12,7 +12,6 @@ dist_TESTS = \
        tests/command/add-files.sh \
        tests/command/aggregate.sh \
        tests/command/attributes.sh \
-       tests/command/autorecod.sh \
        tests/command/beg-data.sh \
        tests/command/bignum.sh \
        tests/command/count.sh \
@@ -417,6 +416,7 @@ EXTRA_DIST += \
        $(TESTSUITE)
 TESTSUITE_AT = \
        tests/testsuite.at \
+       tests/language/stats/autorecode.at \
        tests/language/stats/crosstabs.at \
        tests/language/stats/frequencies.at \
        tests/output/render.at
diff --git a/tests/command/autorecod.sh b/tests/command/autorecod.sh
deleted file mode 100755 (executable)
index 6aaf872..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh
-
-# This program tests the autorecode command
-
-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
-
-# 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
-
-activity="create program"
-cat > $TESTFILE <<EOF
-/* Tries AUTORECODE on some random but similar strings of characters.
-data list /X 1-5(a) Y 7.
-begin data.
-lasdj 1 1                                                           3
-asdfk 0 3 <---- These are the numbers that should be produced for a 4
-asdfj 2 4                                                           2
-asdfj 1 4                                                           3
-asdfk 2 3                                                           2
-asdfj 9 4                                                           1
-lajks 9 2                                                           1
-asdfk 0 3 These are the numbers that should be produced for b ----> 4
-asdfk 1 3                                                           3
-end data.
-
-autorecode x y into A B/descend.
-
-list.
-/* Just to make sure it works on second & subsequent executions,
-/* try it again.
-compute Z=trunc(y/2).
-autorecode z into W.
-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="test output"
-diff -b $TEMPDIR/pspp.csv - <<EOF
-Table: Reading 1 record from INLINE.
-Variable,Record,Columns,Format
-X,1,1-  5,A5
-Y,1,7-  7,F1.0
-
-Table: Data List
-X,Y,A,B
-lasdj,1,1.00,3.00
-asdfk,0,3.00,4.00
-asdfj,2,4.00,2.00
-asdfj,1,4.00,3.00
-asdfk,2,3.00,2.00
-asdfj,9,4.00,1.00
-lajks,9,2.00,1.00
-asdfk,0,3.00,4.00
-asdfk,1,3.00,3.00
-
-Table: Data List
-X,Y,A,B,Z,W
-lasdj,1,1.00,3.00,.00,1.00
-asdfk,0,3.00,4.00,.00,1.00
-asdfj,2,4.00,2.00,1.00,2.00
-asdfj,1,4.00,3.00,.00,1.00
-asdfk,2,3.00,2.00,1.00,2.00
-asdfj,9,4.00,1.00,4.00,3.00
-lajks,9,2.00,1.00,4.00,3.00
-asdfk,0,3.00,4.00,.00,1.00
-asdfk,1,3.00,3.00,.00,1.00
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-pass
-
-
-
diff --git a/tests/language/stats/autorecode.at b/tests/language/stats/autorecode.at
new file mode 100644 (file)
index 0000000..b4e9d41
--- /dev/null
@@ -0,0 +1,55 @@
+AT_BANNER([AUTORECODE procedure])
+
+AT_SETUP([AUTORECODE numbers and short strings])
+AT_DATA([autorecode.sps],
+  [data list /X 1-5(a) Y 7.
+begin data.
+lasdj 1
+asdfk 0
+asdfj 2
+asdfj 1
+asdfk 2
+asdfj 9
+lajks 9
+asdfk 0
+asdfk 1
+end data.
+
+autorecode x y into A B/descend.
+
+list.
+compute Z=trunc(y/2).
+autorecode z into W.
+list.
+])
+AT_CHECK([pspp -O format=csv autorecode.sps], [0],
+  [Table: Reading 1 record from INLINE.
+Variable,Record,Columns,Format
+X,1,1-  5,A5
+Y,1,7-  7,F1.0
+
+Table: Data List
+X,Y,A,B
+lasdj,1,1.00,3.00
+asdfk,0,3.00,4.00
+asdfj,2,4.00,2.00
+asdfj,1,4.00,3.00
+asdfk,2,3.00,2.00
+asdfj,9,4.00,1.00
+lajks,9,2.00,1.00
+asdfk,0,3.00,4.00
+asdfk,1,3.00,3.00
+
+Table: Data List
+X,Y,A,B,Z,W
+lasdj,1,1.00,3.00,.00,1.00
+asdfk,0,3.00,4.00,.00,1.00
+asdfj,2,4.00,2.00,1.00,2.00
+asdfj,1,4.00,3.00,.00,1.00
+asdfk,2,3.00,2.00,1.00,2.00
+asdfj,9,4.00,1.00,4.00,3.00
+lajks,9,2.00,1.00,4.00,3.00
+asdfk,0,3.00,4.00,.00,1.00
+asdfk,1,3.00,3.00,.00,1.00
+])
+AT_CLEANUP
index 5595de73e946cdf3de90bc4bee8e83efb4a002a3..9bdc99bf5e793eff3062ff65dd8820098b298ced 100644 (file)
@@ -1,5 +1,6 @@
 AT_INIT
 
+m4_include([tests/language/stats/autorecode.at])
 m4_include([tests/language/stats/crosstabs.at])
 m4_include([tests/language/stats/frequencies.at])
 m4_include([tests/output/render.at])