From: Ben Pfaff <blp@cs.stanford.edu>
Date: Mon, 11 Oct 2010 04:34:23 +0000 (-0700)
Subject: VALUE LABELS: Convert tests to Autotest framework.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53a7375627cd7f8ef6606c74b79dd2e2637f5455;p=pspp

VALUE LABELS: Convert tests to Autotest framework.
---

diff --git a/tests/automake.mk b/tests/automake.mk
index 92dc5cdc72..5aaae81243 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -27,8 +27,6 @@ dist_TESTS = \
 	tests/formats/wkday-in.sh \
 	tests/formats/wkday-out.sh \
 	tests/formats/360.sh \
-	tests/bugs/val-labs.sh \
-	tests/bugs/val-labs-trailing-slash.sh \
 	tests/bugs/keep-all.sh \
 	tests/data/datasheet-test.sh \
 	tests/libpspp/sparse-xarray-test.sh \
@@ -317,6 +315,7 @@ TESTSUITE_AT = \
 	tests/language/dictionary/rename-variables.at \
 	tests/language/dictionary/split-file.at \
 	tests/language/dictionary/sys-file-info.at \
+	tests/language/dictionary/value-labels.at \
 	tests/language/dictionary/variable-display.at \
 	tests/language/dictionary/vector.at \
 	tests/language/dictionary/weight.at \
diff --git a/tests/bugs/val-labs-trailing-slash.sh b/tests/bugs/val-labs-trailing-slash.sh
deleted file mode 100755
index 72dd6300e6..0000000000
--- a/tests/bugs/val-labs-trailing-slash.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-# This program tests for a bug in the VALUE LABELS command
-# which caused a crash if it had a trailing /
-
-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 /X * .
-BEGIN DATA.
-1 
-2
-3
-4
-END DATA.
-
-
-VALUE LABELS X 1 'one' 2 'two' 3 'three'/
-
-
-LIST VARIABLES=X.
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
-if [ $? -ne 0 ] ; then fail ; fi
-
-pass
diff --git a/tests/bugs/val-labs.sh b/tests/bugs/val-labs.sh
deleted file mode 100755
index 7fd457b970..0000000000
--- a/tests/bugs/val-labs.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-# This program tests for a bug which caused VALUE LABELS to 
-# crash when given invalid syntax
-
-
-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 /a * pref * .
-BEGIN DATA.
-    1.00     1.00    
-    1.00     2.00    
-    2.00     1.00    
-    2.00     2.00    
-END DATA.
-
-VALUE LABELS /var=a 'label for a'.
-
-
-
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-#Invalid syntax --- return value is non zero.
-activity="run program"
-$SUPERVISOR $PSPP -o pspp.csv -e /dev/null $TESTFILE 
-if [ $? -ne 1 ] ; then fail ; fi
-
-pass;
diff --git a/tests/language/dictionary/value-labels.at b/tests/language/dictionary/value-labels.at
new file mode 100644
index 0000000000..c6c48db4f0
--- /dev/null
+++ b/tests/language/dictionary/value-labels.at
@@ -0,0 +1,47 @@
+AT_BANNER([VALUE LABELS])
+
+dnl Tests for a bug which caused VALUE LABELS to 
+dnl crash when given invalid syntax.
+AT_SETUP([VALUE LABELS invalid syntax bug])
+AT_DATA([value-labels.sps], [dnl
+DATA LIST LIST NOTABLE /a * pref * .
+BEGIN DATA.
+    1.00     1.00    
+    1.00     2.00    
+    2.00     1.00    
+    2.00     2.00    
+END DATA.
+
+VALUE LABELS /var=a 'label for a'.
+])
+AT_CHECK([pspp -O format=csv value-labels.sps], [1], [dnl
+value-labels.sps:9: error: VALUE LABELS: var is not a variable name.
+])
+AT_CLEANUP
+
+# Tests for a bug which caused a crash if VALUE LABELS had a trailing /.
+AT_SETUP([VALUE LABELS trailing `/' bug])
+AT_DATA([value-labels.sps], [dnl
+DATA LIST LIST NOTABLE /X * .
+BEGIN DATA.
+1 
+2
+3
+4
+END DATA.
+
+
+VALUE LABELS X 1 'one' 2 'two' 3 'three'/
+
+
+LIST VARIABLES=X.
+])
+AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
+Table: Data List
+X
+1.00
+2.00
+3.00
+4.00
+])
+AT_CLEANUP