From: Ben Pfaff Date: Sun, 26 Sep 2010 02:42:09 +0000 (-0700) Subject: tests: Convert FILE LABEL, DOCUMENT, ADD DOCUMENT tests to use Autotest. X-Git-Tag: v0.7.6~155 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6062f528bff0243cc421cb8a2c78e0f7a529b3aa;p=pspp-builds.git tests: Convert FILE LABEL, DOCUMENT, ADD DOCUMENT tests to use Autotest. --- diff --git a/tests/automake.mk b/tests/automake.mk index 40ed64ac..f601a695 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/file-label.sh \ tests/command/file-handle.sh \ tests/command/filter.sh \ tests/command/get-data-txt.sh \ @@ -404,6 +403,7 @@ TESTSUITE_AT = \ tests/language/stats/frequencies.at \ tests/language/stats/oneway.at \ tests/language/utilities/set.at \ + tests/language/utilities/title.at \ tests/language/xforms/compute.at \ tests/language/xforms/count.at \ tests/language/xforms/recode.at \ diff --git a/tests/command/file-label.sh b/tests/command/file-label.sh deleted file mode 100755 index 239a2754..00000000 --- a/tests/command/file-label.sh +++ /dev/null @@ -1,219 +0,0 @@ -#!/bin/sh - -# This program tests the FILE LABEL and DOCUMENT, and ADD DOCUMENT commands - -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 program" -cat > $TESTFILE << EOF - -/* Set up a dummy active file in memory. -data list /X 1 Y 2. -begin data. -16 -27 -38 -49 -50 -end data. - -/* Add value labels for some further testing of value labels. -value labels x y 1 'first label' 2 'second label' 3 'third label'. -add value labels x 1 'first label mark two'. - -/* Add a file label and a few documents. -file label This is a test file label. -document First line of a document -Second line of a document -The last line should end with a period: . - - -/* Display the documents. -display documents. -display file label. - -ADD DOCUMENT 'Line one' 'Line two'. - -/* Save the active file then get it and display the documents again. -save /OUTFILE='foo.save'. -get /FILE='foo.save'. -display documents. -display file label. - -/* There is an interesting interaction that occurs if the 'execute' -/* command below. What happens is that an error message is output -/* at the next 'save' command that 'foo.save' is already open for -/* input. This is because the 'get' hasn't been executed yet and -/* therefore PSPP would be reading from and writing to the same -/* file at once, which is obviously a Bad Thing. But 'execute' -/* here clears up that potential problem. -execute. - -/* Add another (shorter) document and try again. -document There should be another document now. -display documents. - -/* Save and get. -save /OUTFILE='foo.save'. -get /FILE='foo.save'. -display documents. -display file label. - -/* Done. - -EOF -if [ $? -ne 0 ] ; then no_result ; fi - -activity="run program" -$SUPERVISOR $PSPP -o pspp.csv $TESTFILE -if [ $? -ne 0 ] ; then no_result ; fi - -# We need to filter out the dates/times -activity="date filter" -sed 's/(Entered [^)]*)/(Entered )/' $TEMPDIR/pspp.csv > $TEMPDIR/pspp.filtered -if [ $? -ne 0 ] ; then no_result ; fi - - -activity="compare results" -diff -c $TEMPDIR/pspp.filtered - <) - -File label: - -This is a test file label - -Documents in the active file: - -document First line of a document - -Second line of a document - -The last line should end with a period: . - -(Entered ) - -Line one - -Line two - -(Entered ) - -File label: - -This is a test file label - -Documents in the active file: - -document First line of a document - -Second line of a document - -The last line should end with a period: . - -(Entered ) - -Line one - -Line two - -(Entered ) - -document There should be another document now. - -(Entered ) - -Documents in the active file: - -document First line of a document - -Second line of a document - -The last line should end with a period: . - -(Entered ) - -Line one - -Line two - -(Entered ) - -document There should be another document now. - -(Entered ) - -File label: - -This is a test file label -EOF -if [ $? -ne 0 ] ; then fail ; fi - - -pass; diff --git a/tests/language/utilities/title.at b/tests/language/utilities/title.at new file mode 100644 index 00000000..515bff5e --- /dev/null +++ b/tests/language/utilities/title.at @@ -0,0 +1,145 @@ +AT_BANNER([TITLE and related commands]) + +AT_SETUP([FILE LABEL and (ADD) DOCUMENT]) +AT_DATA([file-label.sps], [dnl +/* Set up a dummy active file in memory. +data list /X 1 Y 2. +begin data. +16 +27 +38 +49 +50 +end data. + +/* Add value labels for some further testing of value labels. +value labels x y 1 'first label' 2 'second label' 3 'third label'. +add value labels x 1 'first label mark two'. + +/* Add a file label and a few documents. +file label This is a test file label. +document First line of a document +Second line of a document +The last line should end with a period: . + + +/* Display the documents. +display documents. +display file label. + +ADD DOCUMENT 'Line one' 'Line two'. + +/* Save the active file then get it and display the documents again. +save /OUTFILE='foo.save'. +get /FILE='foo.save'. +display documents. +display file label. + +/* There is an interesting interaction that occurs if the 'execute' +/* command below. What happens is that an error message is output +/* at the next 'save' command that 'foo.save' is already open for +/* input. This is because the 'get' hasn't been executed yet and +/* therefore PSPP would be reading from and writing to the same +/* file at once, which is obviously a Bad Thing. But 'execute' +/* here clears up that potential problem. +execute. + +/* Add another (shorter) document and try again. +document There should be another document now. +display documents. + +/* Save and get. +save /OUTFILE='foo.save'. +get /FILE='foo.save'. +display documents. +display file label. + +/* Done. +]) +AT_CHECK([pspp -o pspp.csv file-label.sps]) +dnl Filter out the dates/times +AT_CHECK([[sed 's/(Entered [^)]*)/(Entered )/' pspp.csv]], [0], [dnl +Table: Reading 1 record from INLINE. +Variable,Record,Columns,Format +X,1,1- 1,F1.0 +Y,1,2- 2,F1.0 + +Documents in the active file: + +document First line of a document + +Second line of a document + +The last line should end with a period: . + +(Entered ) + +File label: + +This is a test file label + +Documents in the active file: + +document First line of a document + +Second line of a document + +The last line should end with a period: . + +(Entered ) + +Line one + +Line two + +(Entered ) + +File label: + +This is a test file label + +Documents in the active file: + +document First line of a document + +Second line of a document + +The last line should end with a period: . + +(Entered ) + +Line one + +Line two + +(Entered ) + +document There should be another document now. + +(Entered ) + +Documents in the active file: + +document First line of a document + +Second line of a document + +The last line should end with a period: . + +(Entered ) + +Line one + +Line two + +(Entered ) + +document There should be another document now. + +(Entered ) + +File label: + +This is a test file label +]) +AT_CLEANUP