X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fcommand%2Fprint.sh;h=4a0527588de2cb321887549d094b5927433e6cbb;hb=073997e65ce756a77a7db90cc23fb7f501bdd087;hp=77daac3a24b830b36289ab774c313a64f5721ec8;hpb=79240dcf50d4d2f9b2742ff4638d8cf8969c2f98;p=pspp-builds.git diff --git a/tests/command/print.sh b/tests/command/print.sh index 77daac3a..4a052758 100755 --- a/tests/command/print.sh +++ b/tests/command/print.sh @@ -1,19 +1,47 @@ #!/bin/sh -# This program tests the PRINT transformation +# This program tests unusual aspects of the PRINT and WRITE +# transformations: +# +# - PRINT puts spaces between variables, unless a format +# is specified explicitly. +# +# - WRITE doesn't put space between variables. +# +# - PRINT to an external file prefixes each line with a space. +# +# - PRINT EJECT to an external file indicates a formfeed by a "1" +# in the first column. +# +# - WRITE writes out spaces for system-missing values, not a period. +# +# - When no output is specified, an empty record is output. TEMPDIR=/tmp/pspp-tst-$$ +TESTFILE=$TEMPDIR/`basename $0`.sps -here=`pwd`; +# 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 # ensure that top_srcdir is absolute -cd $top_srcdir; top_srcdir=`pwd` +top_srcdir=`cd $top_srcdir; pwd` -export STAT_CONFIG_PATH=$top_srcdir/config +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 } @@ -45,165 +73,118 @@ mkdir -p $TEMPDIR cd $TEMPDIR -# Copy this file --- it's shared with another test -activity="create data" -cp $here/data-list.data $TEMPDIR +activity="create program" +cat > $TEMPDIR/print.stat << foobar +data list notable /x y 1-2. +begin data. +12 +34 + 6 +7 +90 +end data. + +print /x y. +print eject /x y 1-2. +print /x '-' y. +print. + +print outfile='print.out' /x y. +print eject outfile='print.out' /x y (f1,f1). +print outfile='print.out' /x '-' y. +print outfile='print.out'. + +write outfile='write.out' /x y. +write outfile='write.out' /x y (2(f1)). +write outfile='write.out' /x '-' y. +write outfile='write.out'. + +execute. +foobar if [ $? -ne 0 ] ; then no_result ; fi -activity="create program" -cat > $TEMPDIR/print.stat < $TEMPDIR/errs -# Note vv --- there are errors in input. Therefore, the command must FAIL -if [ $? -eq 0 ] ; then fail ; fi - -activity="compare error messages" -diff -w $TEMPDIR/errs - <