3 # This program tests the PRINT transformation
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
10 # ensure that top_srcdir is absolute
11 cd $top_srcdir; top_srcdir=`pwd`
13 export STAT_CONFIG_PATH=$top_srcdir/config
49 # Copy this file --- it's shared with another test
50 activity="create data"
51 cp $top_srcdir/tests/data-list.data $TEMPDIR
52 if [ $? -ne 0 ] ; then no_result ; fi
55 activity="create program"
56 cat > $TEMPDIR/print.stat << foobar
57 title 'Test PRINT transformation'.
59 data list free table file='$TEMPDIR/data-list.data'/A B C D.
60 print outfile="foo" table/A(f8.2) '/' B(e8.2) '/' C(n10) '/' D(rbhex16) '/'.
62 print outfile="foo" /a b c d.
65 data list list table file='$TEMPDIR/data-list.data'/A B C D.
70 if [ $? -ne 0 ] ; then no_result ; fi
73 activity="run program"
74 $SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii --testing-mode $TEMPDIR/print.stat > $TEMPDIR/errs
75 # Note vv --- there are errors in input. Therefore, the command must FAIL
76 if [ $? -eq 0 ] ; then fail ; fi
78 activity="compare error messages"
79 diff -w $TEMPDIR/errs - <<EOF
80 $TEMPDIR/data-list.data:1: error: (columns 1-5, field type F8.0) Field does not form a valid floating-point constant.
81 $TEMPDIR/data-list.data:1: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
82 $TEMPDIR/data-list.data:2: error: (columns 1-8, field type F8.0) Field does not form a valid floating-point constant.
83 $TEMPDIR/data-list.data:4: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
84 $TEMPDIR/data-list.data:4: error: (columns 3-12, field type F8.0) Field does not form a valid floating-point constant.
85 $TEMPDIR/data-list.data:6: warning: LIST: The expression on PRINT SPACE evaluated to the system-missing value.
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:2: error: (columns 1-8, field type F8.0) Field does not form a valid floating-point constant.
88 $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.
89 $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.
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: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.
92 $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.
93 $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.
95 if [ $? -ne 0 ] ; then fail ; fi
98 activity="compare output"
99 diff -b -B $TEMPDIR/pspp.list - << EOF
100 1.1 DATA LIST. Reading free-form data from file $TEMPDIR/data-list.data.
110 2.1 PRINT. Writing 1 record(s) to file foo.
111 +--------+------+-------+-------+
112 |Variable|Record|Columns| Format|
113 #========#======#=======#=======#
116 |B | 1| 10- 17|E8.2 |
117 |"/" | 1| 18- 18|A1 |
118 |C | 1| 19- 28|N10.0 |
119 |"/" | 1| 29- 29|A1 |
120 |D | 1| 30- 45|RBHEX16|
121 |"/" | 1| 46- 46|A1 |
122 +--------+------+-------+-------+
126 -------- -------- -------- --------
133 3.1 DATA LIST. Reading free-form data from file $TEMPDIR/data-list.data.
143 4.1 PRINT. Writing 1 record(s) to the listing file.
144 +--------+------+-------+------+
145 |Variable|Record|Columns|Format|
146 #========#======#=======#======#
148 |B | 1| 10- 17|F8.2 |
149 |C | 1| 19- 26|F8.2 |
150 |D | 1| 28- 35|F8.2 |
151 +--------+------+-------+------+
155 -------- -------- -------- --------
169 if [ $? -ne 0 ] ; then fail ; fi
172 activity="compare print out"
173 diff $TEMPDIR/foo - << EOF
174 . /2.00E+00/0000000003/0000000000001040/
176 . /6.00E+00/0000000007/0000000000002040/
178 . /1.00E+01/0000000011/0000000000002840/
181 if [ $? -ne 0 ] ; then fail ; fi