1 dnl PSPP - a program for statistical analysis.
2 dnl Copyright (C) 2017 Free Software Foundation, Inc.
4 dnl This program is free software: you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation, either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
19 AT_SETUP([VECTOR short form])
20 AT_DATA([vector.sps], [dnl
21 data list notable/x 1.
25 AT_CHECK([pspp -o pspp.csv vector.sps])
26 AT_CHECK([cat pspp.csv], [0], [dnl
28 Vector and Position,,Variable,Print Format
36 AT_SETUP([VECTOR short form with format specification])
37 AT_DATA([vector.sps], [dnl
38 data list notable/x 1.
39 vector #vec(4, comma10.2)
43 AT_CHECK([pspp -o pspp.csv vector.sps])
44 AT_CHECK([cat pspp.csv], [0], [dnl
46 Vector and Position,,Variable,Print Format
47 #vec,1,#vec1,COMMA10.2
57 AT_SETUP([VECTOR short form in INPUT PROGRAM])
58 AT_DATA([vector.sps], [dnl
61 data list notable/x5 x2 x3 x1 x4 1-5.
65 AT_CHECK([pspp -o pspp.csv vector.sps])
66 AT_CHECK([cat pspp.csv], [0], [dnl
68 Vector and Position,,Variable,Print Format
77 AT_SETUP([VECTOR long form])
78 AT_DATA([vector.sps], [dnl
79 data list notable/u w x y z 1-5.
85 AT_CHECK([pspp -o pspp.csv vector.sps])
86 AT_CHECK([cat pspp.csv], [0], [dnl
88 Vector and Position,,Variable,Print Format
104 AT_SETUP([VECTOR syntax errors])
105 AT_DATA([vector.sps], [dnl
106 DATA LIST LIST NOTABLE/x y z.
108 VECTOR aslkdfjaklsdjfklasdjfklasjdfklasjdfkajsdlkfajsdkfjaksdjfaklsdkasdjfklasdjfklasjdfkldkl.
115 VECTOR v(F8.2, F8.2).
119 VECTOR xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(5).
122 AT_DATA([insert.sps], [dnl
123 INSERT FILE='vector.sps' ERROR=IGNORE.
125 AT_CHECK([pspp --testing-mode -O format=csv insert.sps], [1], [dnl
126 "vector.sps:2.8-2.9: error: VECTOR: Syntax error expecting identifier.
130 "vector.sps:3.8-3.93: error: VECTOR: Identifier `aslkdfjaklsdjfklasdjfklasjdfklasjdfkajsdlkfajsdkfjaksdjfaklsdkasdjfklasdjfklasjdfkldkl' exceeds 64-byte limit.
131 3 | VECTOR aslkdfjaklsdjfklasdjfklasjdfklasjdfkajsdlkfajsdkfjaksdjfaklsdkasdjfklasdjfklasjdfkldkl.
132 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
134 "vector.sps:5.8-5.10: error: VECTOR: A vector named dup already exists.
138 "vector.sps:6.8-6.10: error: VECTOR: Vector name v is given twice.
142 "vector.sps:7.8-7.11: error: VECTOR: Only a single vector name may be specified when a list of variables is given.
143 7 | VECTOR u v=x y z.
146 "vector.sps:8.9-8.13: error: VECTOR: Vector length may only be specified once.
150 "vector.sps:9.10: error: VECTOR: Syntax error expecting positive integer.
154 "vector.sps:10.9-10.19: error: VECTOR: Only one format may be specified.
155 10 | VECTOR v(F8.2, F8.2).
158 "vector.sps:11.10-11.13: error: VECTOR: Unknown format type `asdf'.
162 "vector.sps:12.10-12.11: error: VECTOR: Syntax error expecting vector length or format.
166 "vector.sps:13.9-13.14: error: VECTOR: Vector length is required.
170 "vector.sps:14.8-14.74: error: VECTOR: Identifier `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1' exceeds 64-byte limit.
171 14 | VECTOR xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(5).
172 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
174 "vector.sps:15.10-15.11: error: VECTOR: Syntax error expecting `=' or `@{:@'.