X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fcommand%2Fdata-list.sh;h=01a682c1e969175a317f012bbeb89af3c4a28791;hb=baf657198fcf0cabe289246dc07a82da67c86f5b;hp=fce515c6a74f540e09a54e6f358d9ba57b5ecf19;hpb=20fd432b34d65999f06fabfa8e9c3f5efbac41bd;p=pspp diff --git a/tests/command/data-list.sh b/tests/command/data-list.sh index fce515c6a7..01a682c1e9 100755 --- a/tests/command/data-list.sh +++ b/tests/command/data-list.sh @@ -3,17 +3,24 @@ # This program tests the DATA LIST input program. 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 cleanup() { + cd / rm -rf $TEMPDIR } @@ -47,7 +54,7 @@ cd $TEMPDIR # Create command file. activity="create program" -cat > $TEMPDIR/data-list.stat << EOF +cat > $TESTFILE << EOF data list list ('|','X') /A B C D. begin data. 1|23X45|2.03 @@ -57,8 +64,9 @@ end data. list. -data list free/A B C D. +data list free skip=1/A B C D. begin data. +# This record is ignored. ,1,2,3 ,4,,5 6 @@ -74,8 +82,10 @@ begin data. end data. list. -data list free (tab)/A B C D. +data list free (tab) skip=2/A B C D. begin data. +# These records +# are skipped. 1 2 3 4 1 2 3 1 2 4 @@ -92,6 +102,40 @@ begin data. 3 4 +end data. +list. + +* Test DATA LIST FIXED with multiple records. +data list fixed notable + /1 start 1-20 (adate) + /2 end 1-20 (adate) + /3 count 1-3. +begin data. +07-22-2007 +10-06-2007 +321 +07-14-1789 +08-26-1789 +4 +01-01-1972 +12-31-1999 +682 +end data. +list. + +* Test that DATA LIST FIXED works with an empty trailing record. +data list fixed notable records=2/x 1 y 2. +begin data. +12 + +34 + +56 + +78 + +90 + end data. list. EOF @@ -99,12 +143,13 @@ if [ $? -ne 0 ] ; then no_result ; fi activity="run program" -$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii --testing-mode $TEMPDIR/data-list.stat # > $TEMPDIR/errs +$SUPERVISOR $PSPP --testing-mode -o raw-ascii --testing-mode $TESTFILE if [ $? -ne 0 ] ; then fail ; fi activity="compare output" -diff -b -B $TEMPDIR/pspp.list - << EOF -1.1 DATA LIST. Reading free-form data from the command file. +perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list +diff -b $TEMPDIR/pspp.list - << EOF +1.1 DATA LIST. Reading free-form data from INLINE. +--------+------+ |Variable|Format| #========#======# @@ -113,13 +158,11 @@ diff -b -B $TEMPDIR/pspp.list - << EOF |C |F8.0 | |D |F8.0 | +--------+------+ - A B C D -------- -------- -------- -------- 1.00 23.00 45.00 2.03 2.00 22.00 34.00 23.00 3.00 34.00 34.00 34.00 - A B C D -------- -------- -------- -------- . 1.00 2.00 3.00 @@ -128,7 +171,6 @@ diff -b -B $TEMPDIR/pspp.list - << EOF .00 1.00 . . . . . . 2.00 3.00 4.00 5.00 - A B C D -------- -------- -------- -------- 1.00 2.00 3.00 4.00 @@ -147,6 +189,18 @@ diff -b -B $TEMPDIR/pspp.list - << EOF . . 3.00 . . . . 4.00 . . . . + start end count +-------------------- -------------------- ----- + 07/22/2007 10/06/2007 321 + 07/14/1789 08/26/1789 4 + 01/01/1972 12/31/1999 682 +x y +- - +1 2 +3 4 +5 6 +7 8 +9 0 EOF if [ $? -ne 0 ] ; then fail ; fi