LOGISTIC REGRESSION: Improve error messages and coding style.
[pspp] / tests / language / expressions / evaluate.at
index baf2266d98873621e89a466ccb61329d65b65e94..add2e11c6ac6308058b0ee2a9d0677aea623cf79 100644 (file)
@@ -114,6 +114,12 @@ DEBUG EVALUATE /'string' - 1e10.
 DEBUG EVALUATE /9.5 - ''.
 
 DEBUG EVALUATE /F2.0 + 3.
+
+/* Bug #62557.
+DEBUG EVALUATE (y=3)(x=2) /(1 - y) + (1 - x).
+DEBUG EVALUATE (y=3)(x=2) /((1 - y) + (1 - x)).
+DEBUG EVALUATE (y=3)(x=2) /(1-y) + (1-x).
+DEBUG EVALUATE (y=3)(x=2) /( (1-y) + (1-x) ).
 ])
 
 for opt in OPT NOOPT; do
@@ -210,6 +216,14 @@ evaluate.sps:18.24: note: DEBUG EVALUATE: This operand has type 'number'.
       |                        ^
 
 F2.0 + 3 => error
+
+(1 - y) + (1 - x) => -3.00
+
+((1 - y) + (1 - x)) => -3.00
+
+(1-y) + (1-x) => -3.00
+
+( (1-y) + (1-x) ) => -3.00
 ])
 done
 AT_CLEANUP
@@ -711,8 +725,10 @@ c').  To disable this warning, insert parentheses.
 
 1 >= 2 = 2 ge 3 => false
 
-evaluate.sps:17.24: error: DEBUG EVALUATE: Syntax error at `!': expecting end
-of command.
+evaluate.sps:17.24: error: DEBUG EVALUATE: Syntax error expecting end of
+command.
+   17 | DEBUG EVALUATE /3 ne 2 != 1.
+      |                        ^
 
 3 ne 2 != 1 => error
 
@@ -735,7 +751,9 @@ c').  To disable this warning, insert parentheses.
 
 2 le 2 => true
 
-evaluate.sps:25.21: error: DEBUG EVALUATE: Syntax error at `='.
+evaluate.sps:25.21: error: DEBUG EVALUATE: Syntax error parsing expression.
+   25 | DEBUG EVALUATE /2 < = 2.
+      |                     ^
 
 2 < = 2 => error
 
@@ -936,7 +954,9 @@ for opt in OPT NOOPT; do
 
 2 ge 2 => true
 
-evaluate.sps:8.21: error: DEBUG EVALUATE: Syntax error at `='.
+evaluate.sps:8.21: error: DEBUG EVALUATE: Syntax error parsing expression.
+    8 | DEBUG EVALUATE /2 > = 2.
+      |                     ^
 
 2 > = 2 => error
 
@@ -1104,12 +1124,16 @@ evaluate.sps:36.27-36.30: note: DEBUG EVALUATE: This operand has type 'number'.
 
 'asdf       ' ~= "asdf   " => false
 
-evaluate.sps:41.21: error: DEBUG EVALUATE: Syntax error at `>'.
+evaluate.sps:41.21: error: DEBUG EVALUATE: Syntax error parsing expression.
+   41 | DEBUG EVALUATE /1 < > 1.
+      |                     ^
 
 1 < > 1 => error
 
-evaluate.sps:42.19: error: DEBUG EVALUATE: Syntax error at `~': expecting end
-of command.
+evaluate.sps:42.19: error: DEBUG EVALUATE: Syntax error expecting end of
+command.
+   42 | DEBUG EVALUATE /1 ~ = 1.
+      |                   ^
 
 1 ~ = 1 => error
 ])
@@ -2006,15 +2030,21 @@ ANY(string, string[, string]...).
 
 any(a10, 'b', 'c', 'd') => error
 
-evaluate.sps:37: error: DEBUG EVALUATE: Unknown identifier b.
+evaluate.sps:37.26: error: DEBUG EVALUATE: Unknown identifier b.
+   37 | DEBUG EVALUATE /any('a', b, 'c', 'd').
+      |                          ^
 
 any('a', b, 'c', 'd') => error
 
-evaluate.sps:38: error: DEBUG EVALUATE: Unknown identifier c.
+evaluate.sps:38.31: error: DEBUG EVALUATE: Unknown identifier c.
+   38 | DEBUG EVALUATE /any('a', 'b', c, 'd').
+      |                               ^
 
 any('a', 'b', c, 'd') => error
 
-evaluate.sps:39: error: DEBUG EVALUATE: Unknown identifier d.
+evaluate.sps:39.36: error: DEBUG EVALUATE: Unknown identifier d.
+   39 | DEBUG EVALUATE /any('a', 'b', 'c', d).
+      |                                    ^
 
 any('a', 'b', 'c', d) => error
 ]])
@@ -3232,8 +3262,8 @@ for opt in OPT NOOPT; do
     AS_BOX([$opt])
     sed "s/opt/$opt/" < evaluate-base.sps > evaluate.sps
     AT_CHECK([pspp --testing-mode evaluate.sps], [1], [dnl
-lower('ABCDEFGHIJKLMNOPQRSTUVWXYZ!@%&*089') => "abcdefghijklmnopqrstuvwxyz!@
-%&*089"
+lower('ABCDEFGHIJKLMNOPQRSTUVWXYZ!@%&*089') => "abcdefghijklmnopqrstuvwxyz!
+@%&*089"
 
 lower('') => ""
 
@@ -4308,8 +4338,8 @@ for opt in OPT NOOPT; do
     AS_BOX([$opt])
     sed "s/opt/$opt/" < evaluate-base.sps > evaluate.sps
     AT_CHECK([pspp --testing-mode evaluate.sps], [1], [dnl
-upcase('abcdefghijklmnopqrstuvwxyz!@%&*089') => "ABCDEFGHIJKLMNOPQRSTUVWXYZ!@
-%&*089"
+upcase('abcdefghijklmnopqrstuvwxyz!@%&*089') => "ABCDEFGHIJKLMNOPQRSTUVWXYZ!
+@%&*089"
 
 upcase('') => ""