Add bitwise logical operators to ${eval:
[exim.git] / test / stdout / 0002
index e437faded85f79fad81e6fddbe7c880d7fa5a7e1..a202d1ebb14406193e07686eebb6508c87b80a85 100644 (file)
 > eval:   1
 > eval:   1
 > Failed: error in expression evaluation: expecting closing parenthesis (after processing "-2 - (-3")
-> Failed: error in expression evaluation: expecting + or - (after processing "-2 - -3")
+> Failed: error in expression evaluation: expecting operator (after processing "-2 - -3")
 > eval:   1
 > eval:   -5
-> Failed: error in expression evaluation: expecting number or opening parenthesis (after processing "-2 -")
+> eval:   1
 > eval:   40962
 > eval:   63
-> Failed: error in expression evaluation: expecting + or - (after processing "0")
+> Failed: error in expression evaluation: expecting operator (after processing "0")
 > eval10: 77
 > eval10: 8
+> Failed: error in expression evaluation: expecting operator (after processing "0")
+> eval:   4
+> eval:   4
+> eval:   4
+> eval:   13
+> eval:   9
+> eval:   6
+> eval:   3
+> eval:   0
+> eval:   24
+> eval:   4608
+> eval:   4608
+> eval:   -4608
+> 
 > expand: $primary_hostname myhost.test.ex
 > hash:   jmg monty fbWx
 > hash:   abcX abX aX X
 > md5:    NO
 > mask:   NO
 > 
+> # Numeric overflow
+> 
+> Failed: absolute value of integer "4096M" is too large (overflow)
+> Failed: absolute value of integer "4096000000" is too large (overflow)
+> 
 > # Conditions
 > 
 > 2=2:    y
 > 2>3:    n
 > 3>3:    n
 > 4>3:    y
+> 1>-1:   y
 > 2>=3:   n
 > 3>=3:   y
 > 4>=3:   y
 > 3<=3:   y
 > 4<=3:   n
 > 5<=3:   n
+> -3<=1:  y
 > 
 > 5>3k:   n
 > 5>3m:   n
-> Failed: "3z " is not a number
-> Failed: "a" is not a number
+> Failed: invalid integer "3z "
+> Failed: integer expected but "a" found
 > 
 > def:y   y
 > def:n   n
@@ -548,6 +569,8 @@ xyz
 > Failed: unknown condition "xya" inside "and{...}" condition
 > Failed: condition name expected, but found "${lookup{x}lsear" inside "and{...}" condition
 > Failed: missing } at end of string - could be header name not terminated by colon
+> Failed: missing or misplaced { or }
+> Failed: missing or misplaced { or } - could be header name not terminated by colon
 > Failed: each subcondition inside an "or{...}" condition must be in its own {}
 > Failed: missing } at end of condition inside "or" group
 > Failed: unknown condition "yes" inside "or{...}" condition