| 1 | > |
| 2 | > # These expansions can test variables in the configuration, but as there |
| 3 | > # is no message being processed, there is no message-related data. But |
| 4 | > # that of course gets tested in plenty of other places. |
| 5 | > |
| 6 | > # Some fixed variables |
| 7 | > |
| 8 | > exim_path: TESTSUITE/eximdir/exim |
| 9 | > primary_hostname: myhost.test.ex |
| 10 | > primary_hostname: myhost.test.ex |
| 11 | > qualify_domain: myhost.test.ex |
| 12 | > bounce_return_size_limit: 102400 |
| 13 | > spool_directory: TESTSUITE/spool |
| 14 | > Failed: unknown variable in "${unknown}" |
| 15 | > h_subject: (should be empty) |
| 16 | > h_subject: (should be empty) |
| 17 | > Failed: unknown expansion operator "header_subject" |
| 18 | > |
| 19 | > # $message_headers should be empty |
| 20 | > message_headers: >< |
| 21 | > |
| 22 | > # Continuation |
| 23 | > xy |
| 24 | > xy |
| 25 | > |
| 26 | > # Overlong names and overbig numbers |
| 27 | > |
| 28 | > Failed: unknown variable name "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" |
| 29 | > Failed: unknown variable in "${aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}" |
| 30 | > + |
| 31 | > + |
| 32 | > |
| 33 | > # List operations |
| 34 | > |
| 35 | > filter: "a:b:c" |
| 36 | > filter: a:c |
| 37 | > filter: a'c |
| 38 | > filter: ''a' ''c |
| 39 | > filter: "" |
| 40 | > |
| 41 | > map: "" |
| 42 | > map: a:b:c |
| 43 | > map: ::a::: ::b::: ::c:: |
| 44 | > map: fail string |
| 45 | > map: []:[b]:[c] |
| 46 | > |
| 47 | > reduce: "+" |
| 48 | > reduce: +abc |
| 49 | > reduce: 6 |
| 50 | > reduce: 9 |
| 51 | > |
| 52 | > listnamed: *.aa.bb : ^\Nxxx(.*) |
| 53 | > listnamed: *.aa.bb : ^\Nxxx(.*) |
| 54 | > listnamed: V4NET.11.12.13 : iplsearch;TESTSUITE/aux-fixed/0002.iplsearch |
| 55 | > listnamed: *.aa.bb : ^\Nxxx(.*) : ;; |
| 56 | > listnamed: a : b;c : *.aa.bb : ^\Nxxx(.*) : ;; : 2001::630::212::8::204::::b664 |
| 57 | > Failed: "nolist" is not a named list |
| 58 | > listnamed: *.aa.bb : ^\Nxxx(.*) |
| 59 | > Failed: "hlist" is not a domain named list |
| 60 | > Failed: bad suffix on "list" operator |
| 61 | > |
| 62 | > listcount: 3 |
| 63 | > listcount: 0 |
| 64 | > listcount: 3 |
| 65 | > listcount: 2 |
| 66 | > |
| 67 | > # Tests with iscntrl() and illegal separators |
| 68 | > |
| 69 | > map: 'a' |
| 70 | '' |
| 71 | 'b' |
| 72 | 'c' |
| 73 | > |
| 74 | > Failed: error in expression evaluation: expecting number or opening parenthesis (after processing "0+") inside "reduce" item |
| 75 | > reduce: 6 |
| 76 | > reduce: 6 |
| 77 | > reduce: 6 |
| 78 | > |
| 79 | > # Operators |
| 80 | > |
| 81 | > addrss: local-part@dom.ain |
| 82 | > addrss: local-part@dom.ain |
| 83 | > domain: dom.ain |
| 84 | > domain: dom.ain |
| 85 | > |
| 86 | > addresses: ''abc@xyz' ''pqr@xyz |
| 87 | > addresses: local-part@dom.ain |
| 88 | > addresses: local-part@dom.ain+xyz@abc |
| 89 | > addresses: local-part@dom.ain:xyz@abc:p@q:r@s |
| 90 | > addresses: |
| 91 | > |
| 92 | > escape: B7\267F2\362 |
| 93 | > eval: 2 |
| 94 | > eval: 7 |
| 95 | > eval: 9 |
| 96 | > eval: 4 |
| 97 | > eval: 6 |
| 98 | > eval: 42 |
| 99 | > Failed: error in expression evaluation: expecting number or opening parenthesis (after processing "") |
| 100 | > eval: -2 |
| 101 | > eval: 1 |
| 102 | > eval: 1 |
| 103 | > Failed: error in expression evaluation: expecting closing parenthesis (after processing "-2 - (-3") |
| 104 | > Failed: error in expression evaluation: expecting operator (after processing "-2 - -3") |
| 105 | > eval: 1 |
| 106 | > eval: -5 |
| 107 | > eval: 1 |
| 108 | > eval: 40962 |
| 109 | > eval: 63 |
| 110 | > Failed: error in expression evaluation: expecting operator (after processing "0") |
| 111 | > eval10: 77 |
| 112 | > eval10: 8 |
| 113 | > Failed: error in expression evaluation: expecting operator (after processing "0") |
| 114 | > eval: 4 |
| 115 | > eval: 4 |
| 116 | > eval: 4 |
| 117 | > eval: 13 |
| 118 | > eval: 9 |
| 119 | > eval: 6 |
| 120 | > eval: 3 |
| 121 | > eval: 0 |
| 122 | > eval: 24 |
| 123 | > eval: 4608 |
| 124 | > eval: 4608 |
| 125 | > eval: -4608 |
| 126 | > |
| 127 | > expand: $primary_hostname myhost.test.ex |
| 128 | > hash: jmg monty fbWx |
| 129 | > hash: abcX abX aX X |
| 130 | > hex2b64:EjRWeA== |
| 131 | > hex2b64:q83v |
| 132 | > hex2b64:q83v |
| 133 | > hex2b64:Gis8TV5v |
| 134 | > Failed: "1a2b3c4d5e6" contains an odd number of characters |
| 135 | > Failed: "1a2b3c4d5e6g" is not a hex string |
| 136 | > hex2b64:MPPJPkZDbetYunCBao7BJA== |
| 137 | > hex2b64:ztcfpyNSMb7Tg/rP3EHE3cwi7PE= |
| 138 | > |
| 139 | > The base62 operator is actually a base36 operator in the Darwin and Cygwin |
| 140 | > environments. Write cunning tests that produce the same output in both cases, |
| 141 | > while doing a reasonable check. |
| 142 | > |
| 143 | > base62: OK |
| 144 | > base62d: OK |
| 145 | > base62d: OK |
| 146 | > Failed: argument for base62 operator is "12345x", which is not a decimal number |
| 147 | > Failed: argument for base62d operator is "0003D7.", which is not a base 36/62 number |
| 148 | > |
| 149 | > hmac: dd97e3ba5d1a61b5006108f8c8252953 |
| 150 | > hmac: 0210cf9d274b53f1550f657c378b29e8bfed1064 |
| 151 | > md5: 77add1d5f41223d5582fca736a5cb335 |
| 152 | > sha1: DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 |
| 153 | > sha1: A9993E364706816ABA3E25717850C26C9CD0D89D |
| 154 | > mask: 192.168.10.192/28 |
| 155 | > mask: 192.168.10.206/32 |
| 156 | > Failed: mask value too big in "192.168.10.206/33" |
| 157 | > mask: 0.0.0.0/0 |
| 158 | > Failed: missing mask value in "192.168.10.206" |
| 159 | > Failed: "a.b.c.d" is not an IP address |
| 160 | > nhash: 19 0/61 |
| 161 | > lc/uc: the quick BROWN FOX |
| 162 | > length: The quick abc |
| 163 | > lclpt: local-part |
| 164 | > lclpt: local-part |
| 165 | > quote: aZ09_.-Q "ab*cd" "abcd\"ef" |
| 166 | > quote: "nl(\n)" |
| 167 | > quote: "cr(\r)" |
| 168 | > quote: "tab( )" |
| 169 |