tests: Convert system file tests to Autotest framework.
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 5 Oct 2010 00:33:55 +0000 (17:33 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 5 Oct 2010 00:34:38 +0000 (17:34 -0700)
tests/automake.mk
tests/command/sysfiles-old.sh [deleted file]
tests/command/sysfiles.sh [deleted file]
tests/data/sys-file.at

index fa5c5365d6e0b92651e873711a75945461355513..13e4e989759aff4290415bafb4506785f3a70435 100644 (file)
@@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C
 TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
 
 dist_TESTS = \
-       tests/command/sysfiles.sh \
        tests/command/sysfiles-old.sh \
        tests/command/sysfile-info.sh \
        tests/command/split-file.sh \
diff --git a/tests/command/sysfiles-old.sh b/tests/command/sysfiles-old.sh
deleted file mode 100755 (executable)
index 60cce7e..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-# This program tests that system files can be read and written 
-# without the long name tables.
-
-
-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
-DATA LIST LIST NOTABLE / X * variable001 * variable002 * variable003 * .
-BEGIN DATA.
-    1.00     1.00    1.0     2.00
-    1.00     1.00    2.0    30.00
-    1.00     2.00    1.0     8.00
-    1.00     2.00    2.0    20.00
-    2.00     1.00    1.0     2.00
-    2.00     1.00    2.0    22.00
-    2.00     2.00    1.0     1.00
-    2.00     2.00    2.0     3.00
-END DATA.
-
-SAVE /OUTFILE='$TEMPDIR/foo.sav'
-     /VERSION=2
-     .
-
-GET /FILE='$TEMPDIR/foo.sav'.
-
-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="check file exists"
-ls -l $TEMPDIR/foo.sav > /dev/null
-if [ $? -ne 0 ] ; then no_result ; fi
-
-# Ensure that the written file has no long name table
-activity="check sysfile type"
-grep  'X=X' $TEMPDIR/foo.sav
-if [ $? -eq 0 ] ; then fail ; fi
-
-activity="compare output"
-diff -c $TEMPDIR/pspp.csv - << EOF
-Table: Data List
-x,variable,variab_a,variab_b
-1.00,1.00,1.00,2.00
-1.00,1.00,2.00,30.00
-1.00,2.00,1.00,8.00
-1.00,2.00,2.00,20.00
-2.00,1.00,1.00,2.00
-2.00,1.00,2.00,22.00
-2.00,2.00,1.00,1.00
-2.00,2.00,2.00,3.00
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-pass;
diff --git a/tests/command/sysfiles.sh b/tests/command/sysfiles.sh
deleted file mode 100755 (executable)
index 2cee895..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-# This program tests that system files can be read and written 
-# including the long variable names.
-
-
-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
-DATA LIST LIST NOTABLE / variable001 * variable002 * variable003 * variable004 * .
-BEGIN DATA.
-    1.00     1.00    1.0     2.00
-    1.00     1.00    2.0    30.00
-    1.00     2.00    1.0     8.00
-    1.00     2.00    2.0    20.00
-    2.00     1.00    1.0     2.00
-    2.00     1.00    2.0    22.00
-    2.00     2.00    1.0     1.00
-    2.00     2.00    2.0     3.00
-END DATA.
-
-SAVE /OUTFILE='$TEMPDIR/foo.sav'.
-
-GET /FILE='$TEMPDIR/foo.sav'.
-
-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"
-diff -c $TEMPDIR/pspp.csv - << EOF
-Table: Data List
-variable001,variable002,variable003,variable004
-1.00,1.00,1.00,2.00
-1.00,1.00,2.00,30.00
-1.00,2.00,1.00,8.00
-1.00,2.00,2.00,20.00
-2.00,1.00,1.00,2.00
-2.00,1.00,2.00,22.00
-2.00,2.00,1.00,1.00
-2.00,2.00,2.00,3.00
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-pass;
index f8f07a0028350693517a3e297e60fb8649733d97..e125731319b68d45432abe075eb6e3396fa6c103 100644 (file)
@@ -1,8 +1,46 @@
 AT_BANNER([system files])
 
+# Also tests that long variable names are preserved by SAVE and GET.
+AT_SETUP([write and read numeric data])
+AT_KEYWORDS([SAVE GET system file])
+AT_DATA([sysfile.sps], [dnl
+DATA LIST LIST NOTABLE / variable001 * variable002 * variable003 * variable004 * .
+BEGIN DATA.
+    1.00     1.00    1.0     2.00
+    1.00     1.00    2.0    30.00
+    1.00     2.00    1.0     8.00
+    1.00     2.00    2.0    20.00
+    2.00     1.00    1.0     2.00
+    2.00     1.00    2.0    22.00
+    2.00     2.00    1.0     1.00
+    2.00     2.00    2.0     3.00
+END DATA.
+
+SAVE /OUTFILE='foo.sav'.
+
+GET /FILE='foo.sav'.
+
+LIST.
+])
+AT_CHECK([pspp -o pspp.csv sysfile.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Data List
+variable001,variable002,variable003,variable004
+1.00,1.00,1.00,2.00
+1.00,1.00,2.00,30.00
+1.00,2.00,1.00,8.00
+1.00,2.00,2.00,20.00
+2.00,1.00,1.00,2.00
+2.00,1.00,2.00,22.00
+2.00,2.00,1.00,1.00
+2.00,2.00,2.00,3.00
+])
+AT_CLEANUP
+
 # Test that system files can be read properly, even when the case_size
 # header value is -1 (Some 3rd party products do this).
 AT_SETUP([system files with -1 case_size])
+AT_KEYWORDS([SAVE GET])
 AT_DATA([save.sps], [dnl
 DATA LIST LIST NOTABLE /cont (A32) size pop count.
 VAR LABEL
@@ -58,3 +96,42 @@ Europe                          ,9938000,7.3E+008,46.00
 Australia/Oceania               ,7687000,31000000,14.00
 ])
 AT_CLEANUP
+
+AT_SETUP([write v2 system file])
+AT_KEYWORDS([SAVE])
+AT_DATA([sysfile.sps], [dnl
+DATA LIST LIST NOTABLE / X * variable001 * variable002 * variable003 * .
+BEGIN DATA.
+    1.00     1.00    1.0     2.00
+    1.00     1.00    2.0    30.00
+    1.00     2.00    1.0     8.00
+    1.00     2.00    2.0    20.00
+    2.00     1.00    1.0     2.00
+    2.00     1.00    2.0    22.00
+    2.00     2.00    1.0     1.00
+    2.00     2.00    2.0     3.00
+END DATA.
+
+SAVE /OUTFILE='foo.sav'
+     /VERSION=2
+     .
+
+GET /FILE='foo.sav'.
+
+LIST.
+])
+AT_CHECK([pspp -O format=csv sysfile.sps], [0], [dnl
+Table: Data List
+x,variable,variab_a,variab_b
+1.00,1.00,1.00,2.00
+1.00,1.00,2.00,30.00
+1.00,2.00,1.00,8.00
+1.00,2.00,2.00,20.00
+2.00,1.00,1.00,2.00
+2.00,1.00,2.00,22.00
+2.00,2.00,1.00,1.00
+2.00,2.00,2.00,3.00
+])
+dnl Ensure that the written file has no long name table
+AT_CHECK([grep 'X=X' foo.sav], [1], [ignore-nolog])
+AT_CLEANUP