Commit | Line | Data |
---|---|---|
54c5ebb1 PH |
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 | |
71224040 | 9 | > exim_version: x.yz |
98b8312f HSHR |
10 | > config_dir: TESTSUITE |
11 | > config_file: TESTSUITE/test-config | |
54c5ebb1 PH |
12 | > primary_hostname: myhost.test.ex |
13 | > primary_hostname: myhost.test.ex | |
14 | > qualify_domain: myhost.test.ex | |
15 | > bounce_return_size_limit: 102400 | |
16 | > spool_directory: TESTSUITE/spool | |
0cd5fd23 | 17 | > queue_name: |
54c5ebb1 PH |
18 | > Failed: unknown variable in "${unknown}" |
19 | > h_subject: (should be empty) | |
20 | > h_subject: (should be empty) | |
21 | > Failed: unknown expansion operator "header_subject" | |
22 | > | |
23 | > # $message_headers should be empty | |
24 | > message_headers: >< | |
25 | > | |
26 | > # Continuation | |
27 | > xy | |
28 | > xy | |
29 | > | |
30 | > # Overlong names and overbig numbers | |
31 | > | |
32 | > Failed: unknown variable name "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | |
33 | > Failed: unknown variable in "${aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}" | |
34 | > + | |
35 | > + | |
36 | > | |
26dd3aa0 JH |
37 | > eval: 0 |
38 | > eval: 1 | |
39 | > eval: -1 | |
40 | > eval: 1 | |
41 | > eval: 2 | |
42 | > eval: 7 | |
43 | > eval: 9 | |
44 | > eval: 4 | |
45 | > eval: 6 | |
46 | > eval: 42 | |
47 | > Failed: error in expression evaluation: expecting number or opening parenthesis (after processing "") | |
48 | > eval: -2 | |
49 | > eval: 1 | |
50 | > eval: 1 | |
51 | > Failed: error in expression evaluation: expecting closing parenthesis (after processing "-2 - (-3") | |
52 | > Failed: error in expression evaluation: expecting operator (after processing "-2 - -3") | |
53 | > eval: 1 | |
54 | > eval: -5 | |
55 | > eval: 1 | |
56 | > eval: 40962 | |
57 | > eval: 63 | |
58 | > Failed: error in expression evaluation: expecting operator (after processing "0") | |
59 | > eval10: 77 | |
60 | > eval10: 8 | |
61 | > Failed: error in expression evaluation: expecting operator (after processing "0") | |
62 | > eval: 4 | |
63 | > eval: 4 | |
64 | > eval: 4 | |
65 | > eval: 13 | |
66 | > eval: 9 | |
67 | > eval: 6 | |
68 | > eval: 3 | |
69 | > eval: 0 | |
70 | > eval: 24 | |
71 | > eval: 4608 | |
72 | > eval: 4608 | |
73 | > eval: -4608 | |
74 | > | |
29f89cad PH |
75 | > # List operations |
76 | > | |
77 | > filter: "a:b:c" | |
78 | > filter: a:c | |
79 | > filter: a'c | |
80 | > filter: ''a' ''c | |
81 | > filter: "" | |
82 | > | |
83 | > map: "" | |
84 | > map: a:b:c | |
85 | > map: ::a::: ::b::: ::c:: | |
86 | > map: fail string | |
87 | > map: []:[b]:[c] | |
88 | > | |
89 | > reduce: "+" | |
90 | > reduce: +abc | |
91 | > reduce: 6 | |
92 | > reduce: 9 | |
1e0a93cf JH |
93 | > # Check for extract corrupting reduce's |
94 | > reduce: a , b | |
29f89cad | 95 | > |
a64a3dfa JH |
96 | > listnamed: *.aa.bb : ^\Nxxx(.*) |
97 | > listnamed: *.aa.bb : ^\Nxxx(.*) | |
98 | > listnamed: V4NET.11.12.13 : iplsearch;TESTSUITE/aux-fixed/0002.iplsearch | |
99 | > listnamed: *.aa.bb : ^\Nxxx(.*) : ;; | |
100 | > listnamed: a : b;c : *.aa.bb : ^\Nxxx(.*) : ;; : 2001::630::212::8::204::::b664 | |
042eb971 | 101 | > Failed: "nolist" is not a named list |
a64a3dfa | 102 | > listnamed: *.aa.bb : ^\Nxxx(.*) |
042eb971 JH |
103 | > Failed: "hlist" is not a domain named list |
104 | > Failed: bad suffix on "list" operator | |
105 | > | |
a64a3dfa JH |
106 | > listcount: 3 |
107 | > listcount: 0 | |
108 | > listcount: 3 | |
109 | > listcount: 2 | |
042eb971 | 110 | > |
aa26e137 JH |
111 | > listextract: b |
112 | > listextract: XcX | |
113 | > listextract: | |
114 | > listextract: | |
115 | > listextract: fail | |
f90d49f7 | 116 | > Failed: "listextract" failed and "fail" requested |
aa26e137 | 117 | > |
48b30ae1 JH |
118 | > listquote: abcd |
119 | > listquote: ab::cd | |
120 | > listquote: ::a::b::c::d:: | |
121 | > listquote: ab::::cd | |
122 | > listquote: ab:cd | |
123 | > listquote: ab;;cd | |
124 | > listquote: ab cd | |
125 | > | |
ac4ef9bd JH |
126 | > sort: 1:2:3:4 |
127 | > sort: 4,3,2,1 | |
128 | > sort: a:aa:B:c | |
129 | > sort: 10 smtp.ex.com:100 r2.ex.com:666 r99.ex.com | |
130 | > sort: 10,smtp.ex.com:100,r2.ex.com:666,r99.ex.com | |
131 | > sort: "" | |
132 | > | |
ec95d1a6 PH |
133 | > # Tests with iscntrl() and illegal separators |
134 | > | |
135 | > map: 'a' | |
136 | '' | |
137 | 'b' | |
138 | 'c' | |
139 | > | |
140 | > Failed: error in expression evaluation: expecting number or opening parenthesis (after processing "0+") inside "reduce" item | |
141 | > reduce: 6 | |
142 | > reduce: 6 | |
143 | > reduce: 6 | |
144 | > | |
54c5ebb1 PH |
145 | > # Operators |
146 | > | |
e47376be JH |
147 | > Failed: Not enough arguments for 'acl' (min is 1) |
148 | > Failed: Not enough arguments for 'acl' (min is 1) | |
17ccbda6 | 149 | > Failed: ERROR from acl "a_nosuch" |
525239c1 JH |
150 | > acl: (0) [] [] |
151 | > acl: (1) [person@dom.ain] [] | |
152 | > acl: (2) [firstarg] [secondarg] | |
153 | > acl: (1) [arg with spaces] [] | |
723c72e6 JH |
154 | > acl: |
155 | > acl: | |
bef3ea7f JH |
156 | > acl: (0) [] [] |
157 | > acl: (1) [person@dom.ain] [] | |
17ccbda6 | 158 | > Failed: DEFER from acl "a_defer" |
bef3ea7f | 159 | > acl: (2) [new arg1] [top_arg_1] |
525239c1 | 160 | > acl: (1) [1] [] (1) [2] [] (1) [3] [] (1) [4] [] |
723c72e6 | 161 | > |
54c5ebb1 PH |
162 | > addrss: local-part@dom.ain |
163 | > addrss: local-part@dom.ain | |
e2ff8e24 JB |
164 | > addrss: local-part@dom.ain |
165 | > addrss: local-part@dom.ain | |
166 | > addrss: local-part@dom.ain | |
167 | > addrss: local-part.dot-atom@dom.ain | |
168 | > addrss: local-part@dom.ain | |
169 | > domain: dom.ain | |
54c5ebb1 PH |
170 | > domain: dom.ain |
171 | > domain: dom.ain | |
c5b03406 | 172 | > domain: |
29f89cad PH |
173 | > |
174 | > addresses: ''abc@xyz' ''pqr@xyz | |
175 | > addresses: local-part@dom.ain | |
176 | > addresses: local-part@dom.ain+xyz@abc | |
177 | > addresses: local-part@dom.ain:xyz@abc:p@q:r@s | |
178 | > addresses: | |
1b7cf216 | 179 | > Failed: output separator missing in expanding ${addresses:>} |
29f89cad | 180 | > |
3367f8c2 JH |
181 | > escape: B7\267F2\362 |
182 | > excape8bit: undisturbed text tab | |
183 | newline tab\134backslash ~tilde\177DEL\200\201. | |
184 | > | |
54c5ebb1 PH |
185 | > expand: $primary_hostname myhost.test.ex |
186 | > hash: jmg monty fbWx | |
187 | > hash: abcX abX aX X | |
188 | > hex2b64:EjRWeA== | |
189 | > hex2b64:q83v | |
190 | > hex2b64:q83v | |
191 | > hex2b64:Gis8TV5v | |
192 | > Failed: "1a2b3c4d5e6" contains an odd number of characters | |
193 | > Failed: "1a2b3c4d5e6g" is not a hex string | |
194 | > hex2b64:MPPJPkZDbetYunCBao7BJA== | |
195 | > hex2b64:ztcfpyNSMb7Tg/rP3EHE3cwi7PE= | |
196 | > | |
03ca21f8 JH |
197 | > base32: 0 <> |
198 | > base32: 1 <b> | |
199 | > base32: 31 <7> | |
200 | > base32: 32 <ba> | |
201 | > base32: 42 <bk> | |
202 | > Failed: argument for base32 operator is "0x1", which is not a decimal number | |
203 | > | |
204 | > base32d: 0 0 | |
205 | > base32d: 1 1 | |
206 | > base32d: 31 31 | |
207 | > base32d: 32 32 | |
208 | > base32d: 42 42 | |
209 | > Failed: argument for base32d operator is "ABC", which is not a base 32 number | |
210 | > | |
9650d98a | 211 | > the base62 operator is actually a base36 operator in the Darwin and Cygwin |
54c5ebb1 PH |
212 | > environments. Write cunning tests that produce the same output in both cases, |
213 | > while doing a reasonable check. | |
214 | > | |
215 | > base62: OK | |
216 | > base62d: OK | |
217 | > base62d: OK | |
218 | > Failed: argument for base62 operator is "12345x", which is not a decimal number | |
219 | > Failed: argument for base62d operator is "0003D7.", which is not a base 36/62 number | |
220 | > | |
221 | > hmac: dd97e3ba5d1a61b5006108f8c8252953 | |
222 | > hmac: 0210cf9d274b53f1550f657c378b29e8bfed1064 | |
223 | > md5: 77add1d5f41223d5582fca736a5cb335 | |
224 | > sha1: DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 | |
225 | > sha1: A9993E364706816ABA3E25717850C26C9CD0D89D | |
226 | > mask: 192.168.10.192/28 | |
227 | > mask: 192.168.10.206/32 | |
228 | > Failed: mask value too big in "192.168.10.206/33" | |
229 | > mask: 0.0.0.0/0 | |
230 | > Failed: missing mask value in "192.168.10.206" | |
231 | > Failed: "a.b.c.d" is not an IP address | |
fc4a7f70 JH |
232 | > ipv6denorm: 0000:0000:0000:0000:0000:0000:0000:0001 |
233 | > ipv6denorm: fe00:0000:0000:0000:0000:0000:0000:0001 | |
234 | > ipv6denorm: 0000:0000:0000:0000:0000:ffff:c0a8:0001 | |
235 | > ipv6denorm: fe80:0000:0000:0000:0000:0000:c0a8:0001 | |
236 | > ipv6norm: ::1 | |
237 | > ipv6norm: 2a00:: | |
238 | > ipv6norm: 2a00::1 | |
239 | > ipv6norm: 2a00:eadf::1:0 | |
240 | > ipv6norm: 2a00:eadf:0:1:: | |
241 | > ipv6norm: 2a00:: | |
242 | > ipv6norm: 2a00:2:3:4:5:6:7:8 | |
54c5ebb1 PH |
243 | > nhash: 19 0/61 |
244 | > lc/uc: the quick BROWN FOX | |
245 | > length: The quick abc | |
246 | > lclpt: local-part | |
247 | > lclpt: local-part | |
e2ff8e24 | 248 | > lclpt: local.part |
c5b03406 | 249 | > lclpt: a.b.c |
54c5ebb1 PH |
250 | > quote: aZ09_.-Q "ab*cd" "abcd\"ef" |
251 | > quote: "nl(\n)" | |
252 | > quote: "cr(\r)" | |
253 | > quote: "tab( )" | |
254 |