From: Ben Pfaff <blp@cs.stanford.edu>
Date: Mon, 11 Oct 2010 04:39:45 +0000 (-0700)
Subject: tests: Convert tests for SAVE /KEEP=ALL to Autotest framework.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b74913975ed7b4c83fca98f1f46e7f938a37722d;p=pspp

tests: Convert tests for SAVE /KEEP=ALL to Autotest framework.
---

diff --git a/tests/automake.mk b/tests/automake.mk
index 5aaae81243..362baaa7b5 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -27,7 +27,6 @@ dist_TESTS = \
 	tests/formats/wkday-in.sh \
 	tests/formats/wkday-out.sh \
 	tests/formats/360.sh \
-	tests/bugs/keep-all.sh \
 	tests/data/datasheet-test.sh \
 	tests/libpspp/sparse-xarray-test.sh \
 	tests/output/paper-size.sh \
diff --git a/tests/bugs/keep-all.sh b/tests/bugs/keep-all.sh
deleted file mode 100755
index bbfd707baf..0000000000
--- a/tests/bugs/keep-all.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-
-# This program tests for bug #15766 (/KEEP subcommand on SAVE doesn't
-# fully support ALL) and underlying problems.
-
-TEMPDIR=/tmp/pspp-tst-$$
-TESTFILE=$TEMPDIR/`basename $0`.pspp
-
-# 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
-
-for mode in COMPRESSED UNCOMPRESSED; do
-    activity="create program ($mode)"
-    cat > $TESTFILE <<EOF
-DATA LIST LIST NOTABLE 
-	/a b c d e f g h i j k l m n o p q r s t u v w x y z (F2.0).
-BEGIN DATA.
-1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
-END DATA.
-LIST.
-SAVE OUTFILE='test.sav'/$mode.
-GET FILE='test.sav'/KEEP=x y z all.
-LIST.
-EOF
-    if [ $? -ne 0 ] ; then no_result ; fi
-
-    activity="run PSPP ($mode)"
-    $SUPERVISOR $PSPP -o pspp.csv $TESTFILE
-    if [ $? -ne 0 ] ; then no_result ; fi
-
-
-    activity="compare output ($mode)"
-    diff -c $TEMPDIR/pspp.csv - << EOF
-Table: Data List
-a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
-
-Table: Data List
-x,y,z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w
-24,25,26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
-EOF
-    if [ $? -ne 0 ] ; then fail ; fi
-done
-
-pass;
diff --git a/tests/language/data-io/get.at b/tests/language/data-io/get.at
index e9f2e2ef36..a519b67fe3 100644
--- a/tests/language/data-io/get.at
+++ b/tests/language/data-io/get.at
@@ -62,3 +62,33 @@ error: An error occurred while opening `nonexistent.sav': No such file or direct
 -:1: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
 ])
 AT_CLEANUP
+
+dnl Tests for bug #15766 (/KEEP subcommand on SAVE doesn't
+dnl fully support ALL) and underlying problems.
+m4_define([GET_KEEP_ALL],
+  [AT_SETUP([GET with /KEEP=ALL crashes -- $1])
+   AT_DATA([get.sps], [dnl
+DATA LIST LIST NOTABLE 
+	/a b c d e f g h i j k l m n o p q r s t u v w x y z (F2.0).
+BEGIN DATA.
+1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
+END DATA.
+LIST.
+SAVE OUTFILE='test.sav'/$1.
+GET FILE='test.sav'/KEEP=x y z all.
+LIST.
+])
+   AT_CHECK([pspp -o pspp.csv get.sps])
+   AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Data List
+a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
+
+Table: Data List
+x,y,z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w
+24,25,26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
+])
+   AT_CLEANUP])
+GET_KEEP_ALL([uncompressed])
+GET_KEEP_ALL([compressed])
+