From: Ben Pfaff Date: Tue, 5 Oct 2010 04:30:14 +0000 (-0700) Subject: SYSFILE INFO: Convert test to Autotest framework. X-Git-Tag: v0.7.6~90 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=commitdiff_plain;h=6673633a0f497a1e2f579680975a9e460003614b SYSFILE INFO: Convert test to Autotest framework. --- diff --git a/tests/automake.mk b/tests/automake.mk index 0c3296e8..d3054e16 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT) dist_TESTS = \ - tests/command/sysfile-info.sh \ tests/command/split-file.sh \ tests/command/t-test-1-indep-val.sh \ tests/command/t-test-1-sample-missing-anal.sh \ @@ -356,6 +355,7 @@ TESTSUITE_AT = \ tests/language/dictionary/missing-values.at \ tests/language/dictionary/mrsets.at \ tests/language/dictionary/rename-variables.at \ + tests/language/dictionary/sys-file-info.at \ tests/language/expressions/evaluate.at \ tests/language/lexer/variable-parser.at \ tests/language/stats/aggregate.at \ diff --git a/tests/command/sysfile-info.sh b/tests/command/sysfile-info.sh deleted file mode 100755 index ceafcf53..00000000 --- a/tests/command/sysfile-info.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh - -# This program tests that SYSFILE INFO works. - -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 - -activity="Create test file" -cat > $TESTFILE << EOF -DATA LIST LIST /x * name (a10) . -BEGIN DATA -1 one -2 two -3 three -END DATA. -SAVE OUTFILE='pro.sav'. - -sysfile info file='pro.sav'. -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="filter output" -egrep -v '^(Created|Endian|Integer Format|Real Format):,' $TEMPDIR/pspp.csv > $TEMPDIR/out-filtered -if [ $? -ne 0 ] ; then no_result ; fi - -activity="compare output" -diff -c $TEMPDIR/out-filtered - << EOF -Table: Reading free-form data from INLINE. -Variable,Format -x,F8.0 -name,A10 - -File:,pro.sav -Label:,No label. -Variables:,2 -Cases:,3 -Type:,System File -Weight:,Not weighted. -Mode:,Compression on. -Charset:,Unknown - -Variable,Description,,Position -x,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -name,Format: A10,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 10,, -EOF -if [ $? -ne 0 ] ; then fail ; fi - -pass; diff --git a/tests/language/dictionary/sys-file-info.at b/tests/language/dictionary/sys-file-info.at new file mode 100644 index 00000000..14a53faf --- /dev/null +++ b/tests/language/dictionary/sys-file-info.at @@ -0,0 +1,46 @@ +AT_BANNER([SYSFILE INFO]) + +AT_SETUP([SYSFILE INFO]) +AT_DATA([sysfile-info.sps], [dnl +DATA LIST LIST /x * name (a10) . +BEGIN DATA +1 one +2 two +3 three +END DATA. +SAVE OUTFILE='pro.sav'. + +sysfile info file='pro.sav'. +]) +AT_CHECK([pspp -o pspp.csv sysfile-info.sps]) +AT_CHECK( + [sed -e '/^Created:,/d' \ + -e '/^Endian:,/d' \ + -e '/^Integer Format:,/d' \ + -e '/^Real Format:,/d' pspp.csv], + [0], [dnl +Table: Reading free-form data from INLINE. +Variable,Format +x,F8.0 +name,A10 + +File:,pro.sav +Label:,No label. +Variables:,2 +Cases:,3 +Type:,System File +Weight:,Not weighted. +Mode:,Compression on. +Charset:,Unknown + +Variable,Description,,Position +x,Format: F8.2,,1 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +name,Format: A10,,2 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 10,, +]) +AT_CLEANUP