MATRIX DATA: Improve error messages.
[pspp] / tests / language / data-io / matrix-data.at
index ca965dd7a23c291fa7b71b6f9490dc8c9b1add9b..8159d149c77e1d2328aa558290a915d5ef41589c 100644 (file)
@@ -211,7 +211,9 @@ list.
 ])
 
 AT_CHECK([pspp -O format=csv matrix-data.sps], [0], [dnl
-matrix-data.sps:4: warning: MATRIX DATA: CELLS is ignored when VARIABLES includes ROWTYPE_
+"matrix-data.sps:4.6-4.10: warning: MATRIX DATA: CELLS is ignored when VARIABLES includes ROWTYPE_.
+    4 |     /cells = 2.
+      |      ^~~~~"
 
 Table: Data List
 ROWTYPE_,VARNAME_,var01,var02,var03,var04
@@ -254,8 +256,8 @@ list.
 AT_CHECK([pspp -O format=csv matrix-data.sps], [0], [dnl
 Table: Variables
 Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
-s1,1,Scale,Input,8,Right,F4.0,F4.0
-s2,2,Scale,Input,8,Right,F4.0,F4.0
+s1,1,Nominal,Input,8,Right,F4.0,F4.0
+s2,2,Nominal,Input,8,Right,F4.0,F4.0
 ROWTYPE_,3,Nominal,Input,8,Left,A8,A8
 VARNAME_,4,Nominal,Input,8,Left,A8,A8
 var01,5,Scale,Input,8,Right,F10.4,F10.4
@@ -418,9 +420,9 @@ list.
 AT_CHECK([pspp matrix-data.sps -O format=csv], [0], [dnl
 Table: Variables
 Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
-s,1,Scale,Input,8,Right,F4.0,F4.0
+s,1,Nominal,Input,8,Right,F4.0,F4.0
 ROWTYPE_,2,Nominal,Input,8,Left,A8,A8
-f,3,Scale,Input,8,Right,F4.0,F4.0
+f,3,Nominal,Input,8,Right,F4.0,F4.0
 VARNAME_,4,Nominal,Input,8,Left,A8,A8
 var01,5,Scale,Input,8,Right,F10.4,F10.4
 var02,6,Scale,Input,8,Right,F10.4,F10.4
@@ -1183,17 +1185,29 @@ MATRIX DATA VARIABLES=v/CELLS=-1.
 MATRIX DATA VARIABLES=v/XYZZY.
 ])
 AT_CHECK([pspp matrix-data.sps -O format=csv], [1], [dnl
-matrix-data.sps:1: error: MATRIX DATA: VARIABLES may not include VARNAME_.
+"matrix-data.sps:1.23-1.36: error: MATRIX DATA: VARIABLES may not include VARNAME_.
+    1 | MATRIX DATA VARIABLES=var01 varname_.
+      |                       ^~~~~~~~~~~~~~"
 
-matrix-data.sps:2: error: MATRIX DATA: Variable v appears twice in variable list.
+"matrix-data.sps:2.25: error: MATRIX DATA: Variable v appears twice in variable list.
+    2 | MATRIX DATA VARIABLES=v v v.
+      |                         ^"
 
-matrix-data.sps:3: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+"matrix-data.sps:3.47-3.54: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+    3 | MATRIX DATA VARIABLES=rowtype_ v1 v2 v3/SPLIT=rowtype_.
+      |                                               ^~~~~~~~"
 
-matrix-data.sps:4: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+"matrix-data.sps:4.49-4.56: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+    4 | MATRIX DATA VARIABLES=rowtype_ v1 v2 v3/FACTORS=rowtype_.
+      |                                                 ^~~~~~~~"
 
-matrix-data.sps:5: error: MATRIX DATA: v1 may not appear on both SPLIT and FACTORS.
+"matrix-data.sps:5.61-5.62: error: MATRIX DATA: v1 may not appear on both SPLIT and FACTORS.
+    5 | MATRIX DATA VARIABLES=rowtype_ s1 v1 v2 v3/SPLIT=v1/FACTORS=v1.
+      |                                                             ^~"
 
-matrix-data.sps:7: error: MATRIX DATA: FORMAT=FULL and FORMAT=NODIAGONAL are mutually exclusive.
+"matrix-data.sps:7.32-7.53: error: MATRIX DATA: FORMAT=FULL and FORMAT=NODIAGONAL are mutually exclusive.
+    7 | MATRIX DATA VARIABLES=v1 v2 v3/FORMAT=FULL NODIAGONAL.
+      |                                ^~~~~~~~~~~~~~~~~~~~~~"
 
 matrix-data.sps:8: error: MATRIX DATA: CELLS is required when factor variables are specified and VARIABLES does not include ROWTYPE_.
 
@@ -1201,33 +1215,61 @@ matrix-data.sps:9: warning: MATRIX DATA: CONTENTS was not specified and VARIABLE
 
 matrix-data.sps:12: error: MATRIX DATA: CELLS is required when factor variables are specified and VARIABLES does not include ROWTYPE_.
 
-matrix-data.sps:13: error: MATRIX DATA: VARIABLES includes ROWTYPE_ but the continuous variables are not the last ones on VARIABLES.
+"matrix-data.sps:13.13-13.39: error: MATRIX DATA: VARIABLES includes ROWTYPE_ but the continuous variables are not the last ones on VARIABLES.
+   13 | MATRIX DATA VARIABLES=v1 v2 v3 ROWTYPE_.
+      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~"
 
-matrix-data.sps:14: error: MATRIX DATA: Cannot specify N on CONTENTS along with the N subcommand.
+"matrix-data.sps:14.43-14.45: error: MATRIX DATA: Cannot specify N on CONTENTS along with the N subcommand.
+   14 | MATRIX DATA VARIABLES=v1 v2 v3/CONTENTS=N/N=5.
+      |                                           ^~~"
 
-matrix-data.sps:15.35-15.39: error: MATRIX DATA: Syntax error at `XYZZY': Row type keyword expected.
+"matrix-data.sps:15.35-15.39: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+   15 | MATRIX DATA VARIABLES=v1/CONTENTS=XYZZY.
+      |                                   ^~~~~"
 
-matrix-data.sps:16.36: error: MATRIX DATA: Syntax error at end of command: Row type keyword expected.
+"matrix-data.sps:16.36: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+   16 | MATRIX DATA VARIABLES=v1/CONTENTS=@{:@.
+      |                                    ^"
 
-matrix-data.sps:17.40: error: MATRIX DATA: Syntax error at end of command: Row type keyword expected.
+"matrix-data.sps:17.40: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+   17 | MATRIX DATA VARIABLES=v1/CONTENTS=@{:@CORR.
+      |                                        ^"
 
-matrix-data.sps:18.35: error: MATRIX DATA: Syntax error at `)': Row type keyword expected.
+"matrix-data.sps:18.35: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+   18 | MATRIX DATA VARIABLES=v1/CONTENTS=@:}@.
+      |                                   ^"
 
-matrix-data.sps:19.12: error: MATRIX DATA: Syntax error at end of command: expecting VARIABLES.
+"matrix-data.sps:19.12: error: MATRIX DATA: Syntax error expecting VARIABLES.
+   19 | MATRIX DATA.
+      |            ^"
 
-matrix-data.sps:20.24: error: MATRIX DATA: Syntax error at `*': expecting `/'.
+"matrix-data.sps:20.24: error: MATRIX DATA: Syntax error expecting `/'.
+   20 | MATRIX DATA VARIABLES=v*.
+      |                        ^"
 
-matrix-data.sps:21.27-21.28: error: MATRIX DATA: Syntax error at `-1': Expected non-negative integer for N.
+"matrix-data.sps:21.27-21.28: error: MATRIX DATA: Syntax error expecting non-negative integer for N.
+   21 | MATRIX DATA VARIABLES=v/N=-1.
+      |                           ^~"
 
-matrix-data.sps:22.32-22.36: error: MATRIX DATA: Syntax error at `XYZZY'.
+"matrix-data.sps:22.32-22.36: error: MATRIX DATA: Syntax error expecting LIST, FREE, UPPER, LOWER, FULL, DIAGONAL, or NODIAGONAL.
+   22 | MATRIX DATA VARIABLES=v/FORMAT=XYZZY.
+      |                                ^~~~~"
 
-matrix-data.sps:23.30-23.32: error: MATRIX DATA: Syntax error at `123': expecting a file name or handle name.
+"matrix-data.sps:23.30-23.32: error: MATRIX DATA: Syntax error expecting a file name or handle name.
+   23 | MATRIX DATA VARIABLES=v/FILE=123.
+      |                              ^~~"
 
-matrix-data.sps:24.31-24.33: error: MATRIX DATA: Syntax error at `123': expecting variable name.
+"matrix-data.sps:24.31-24.33: error: MATRIX DATA: Syntax error expecting variable name.
+   24 | MATRIX DATA VARIABLES=v/SPLIT=123.
+      |                               ^~~"
 
-matrix-data.sps:25.31-25.32: error: MATRIX DATA: Syntax error at `-1': Expected non-negative integer for CELLS.
+"matrix-data.sps:25.31-25.32: error: MATRIX DATA: Syntax error expecting non-negative integer for CELLS.
+   25 | MATRIX DATA VARIABLES=v/CELLS=-1.
+      |                               ^~"
 
-matrix-data.sps:26.25-26.29: error: MATRIX DATA: Syntax error at `XYZZY'.
+"matrix-data.sps:26.25-26.29: error: MATRIX DATA: Syntax error expecting N, FORMAT, FILE, SPLIT, FACTORS, CELLS, or CONTENTS.
+   26 | MATRIX DATA VARIABLES=v/XYZZY.
+      |                         ^~~~~"
 ])
 AT_CLEANUP