3 # This program tests the PRINT transformation
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
8 # ensure that top_builddir are absolute
9 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
10 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
11 top_builddir=`cd $top_builddir; pwd`
12 PSPP=$top_builddir/src/ui/terminal/pspp
14 # ensure that top_srcdir is absolute
15 top_srcdir=`cd $top_srcdir; pwd`
17 STAT_CONFIG_PATH=$top_srcdir/config
18 export STAT_CONFIG_PATH
55 # Copy this file --- it's shared with another test
56 activity="create data"
57 cp $top_srcdir/tests/data-list.data $TEMPDIR
58 if [ $? -ne 0 ] ; then no_result ; fi
61 activity="create program"
62 cat > $TEMPDIR/print.stat << foobar
63 title 'Test PRINT transformation'.
65 data list free table file='$TEMPDIR/data-list.data'/A B C D.
66 print outfile="foo" table/A(f8.2) '/' B(e8.2) '/' C(n10) '/'.
68 print outfile="foo" /a b c d.
71 data list list table file='$TEMPDIR/data-list.data'/A B C D.
76 if [ $? -ne 0 ] ; then no_result ; fi
79 activity="run program"
80 $SUPERVISOR $PSPP --testing-mode -o raw-ascii --testing-mode $TEMPDIR/print.stat > $TEMPDIR/errs
81 # Note vv --- there are errors in input. Therefore, the command must FAIL
82 if [ $? -eq 0 ] ; then fail ; fi
84 activity="compare error messages"
85 diff -w $TEMPDIR/errs - <<EOF
86 $TEMPDIR/data-list.data:1: error: (columns 1-5, field type F8.0) Field does not form a valid floating-point constant.
87 $TEMPDIR/data-list.data:1: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
88 $TEMPDIR/data-list.data:2: error: (columns 1-8, field type F8.0) Field does not form a valid floating-point constant.
89 $TEMPDIR/data-list.data:4: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
90 $TEMPDIR/data-list.data:4: error: (columns 3-12, field type F8.0) Field does not form a valid floating-point constant.
91 $TEMPDIR/data-list.data:6: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
92 $TEMPDIR/data-list.data:1: error: (columns 1-5, field type F8.0) Field does not form a valid floating-point constant.
93 $TEMPDIR/data-list.data:2: error: (columns 1-8, field type F8.0) Field does not form a valid floating-point constant.
94 $TEMPDIR/data-list.data:2: warning: LIST: Missing value(s) for all variables from C onward. These will be filled with the system-missing value or blanks, as appropriate.
95 $TEMPDIR/data-list.data:3: warning: LIST: Missing value(s) for all variables from B onward. These will be filled with the system-missing value or blanks, as appropriate.
96 $TEMPDIR/data-list.data:4: error: (columns 3-12, field type F8.0) Field does not form a valid floating-point constant.
97 $TEMPDIR/data-list.data:4: warning: LIST: Missing value(s) for all variables from C onward. These will be filled with the system-missing value or blanks, as appropriate.
98 $TEMPDIR/data-list.data:5: warning: LIST: Missing value(s) for all variables from C onward. These will be filled with the system-missing value or blanks, as appropriate.
99 $TEMPDIR/data-list.data:6: warning: LIST: Missing value(s) for all variables from B onward. These will be filled with the system-missing value or blanks, as appropriate.
101 if [ $? -ne 0 ] ; then fail ; fi
104 activity="compare output"
105 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
106 diff -b $TEMPDIR/pspp.list - << EOF
107 1.1 DATA LIST. Reading free-form data from "$TEMPDIR/data-list.data".
116 2.1 PRINT. Writing 1 record to "foo".
117 +--------+------+-------+------+
118 |Variable|Record|Columns|Format|
119 #========#======#=======#======#
122 |B | 1| 10- 17|E8.2 |
123 |"/" | 1| 18- 18|A1 |
124 |C | 1| 19- 28|N10.0 |
125 |"/" | 1| 29- 29|A1 |
126 +--------+------+-------+------+
128 -------- -------- -------- --------
132 3.1 DATA LIST. Reading free-form data from "$TEMPDIR/data-list.data".
141 4.1 PRINT. Writing 1 record.
142 +--------+------+-------+------+
143 |Variable|Record|Columns|Format|
144 #========#======#=======#======#
146 |B | 1| 10- 17|F8.2 |
147 |C | 1| 19- 26|F8.2 |
148 |D | 1| 28- 35|F8.2 |
149 +--------+------+-------+------+
152 -------- -------- -------- --------
165 if [ $? -ne 0 ] ; then fail ; fi
168 activity="compare print out"
169 diff $TEMPDIR/foo - << EOF
170 . /2.00E+00/0000000003/
172 . /6.00E+00/0000000007/
174 . /1.00E+01/0000000011/
177 if [ $? -ne 0 ] ; then fail ; fi