base32d: 42 ${base32d:${base32:42}}
base32d error: ABC ${base32d:ABC}
-The base62 operator is actually a base36 operator in the Darwin and Cygwin
+the base62 operator is actually a base36 operator in the Darwin and Cygwin
environments. Write cunning tests that produce the same output in both cases,
while doing a reasonable check.
a.b.c: ${lookup{a.b.c}wildlsearch{DIR/aux-var/0002.wild}}
ab.c: ${lookup{ab.c}wildlsearch{DIR/aux-var/0002.wild}}
xyz: ${lookup{xyz}wildlsearch{DIR/aux-var/0002.wild}}
-Xyz: ${lookup{Xyz}wildlsearch{DIR/aux-var/0002.wild}}
-Zyz: ${lookup{Zyz}wildlsearch{DIR/aux-var/0002.wild}}
+.Xyz: ${lookup{Xyz}wildlsearch{DIR/aux-var/0002.wild}}
+.Zyz: ${lookup{Zyz}wildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}wildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}wildlsearch{DIR/aux-var/0002.wild}}
a:b: ${lookup{a:b}wildlsearch{DIR/aux-var/0002.wild}}
a.b.c: ${lookup{a.b.c}nwildlsearch{DIR/aux-var/0002.wild}}
ab.c: ${lookup{ab.c}nwildlsearch{DIR/aux-var/0002.wild}}
xyz: ${lookup{xyz}nwildlsearch{DIR/aux-var/0002.wild}}
-Xyz: ${lookup{Xyz}nwildlsearch{DIR/aux-var/0002.wild}}
-Zyz: ${lookup{Zyz}nwildlsearch{DIR/aux-var/0002.wild}}
+.Xyz: ${lookup{Xyz}nwildlsearch{DIR/aux-var/0002.wild}}
+.Zyz: ${lookup{Zyz}nwildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}nwildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}nwildlsearch{DIR/aux-var/0002.wild}}
a:b: ${lookup{a:b}nwildlsearch{DIR/aux-var/0002.wild}}
# Some tests of case-(in)dependence
-MiXeD-CD: ${lookup{MiXeD-CD}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
-MixeD-CD: ${lookup{MixeD-CD}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
-MiXeD-Ncd: ${lookup{MiXeD-Ncd}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
-MixeD-Ncd: ${lookup{MixeD-Ncd}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
+.MiXeD-CD: ${lookup{MiXeD-CD}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
+.MixeD-CD: ${lookup{MixeD-CD}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
+.MiXeD-Ncd: ${lookup{MiXeD-Ncd}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
+.MixeD-Ncd: ${lookup{MixeD-Ncd}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NOT FOUND}}
# IP address (CIDR) lookups
${extract{ B }{A=1 B=2 C=3}{$value}{NOT FOUND}}
${extract{2}{:}{1:2:3}}
${extract{ 2 }{:}{1:2:3}{$value}{NOT FOUND}}
-Empty:<${extract{D}{A=1 B=2 C=3}}>
-Empty:<${extract{4}{:}{1:2:3}}>
+empty:<${extract{D}{A=1 B=2 C=3}}>
+empty:<${extract{4}{:}{1:2:3}}>
${extract{C}{A=1 B=2 C=3}{<$value>}}
${extract{3}{:}{1:2:3}{<$value>}}
-Empty:<${extract{Z}{A=1 B=2 C=3}{<$value>}}>
-Empty:<${extract{4}{:}{1:2:3}{<$value>}}>
+empty:<${extract{Z}{A=1 B=2 C=3}{<$value>}}>
+empty:<${extract{4}{:}{1:2:3}{<$value>}}>
${extract{Z}{A=1 B=2 C=3}{<$value>}{no Z}}
${extract{4}{:}{1:2:3}{<$value>}{no 4}}
${extract{Z}{A=1 B=2 C=3}{<$value>}fail}
abcd ${rfc2047:abcd}
<:abcd:> ${rfc2047:<:abcd:>}
<:ab cd:> ${rfc2047:<:ab cd:>}
-Long: ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit}
-Long: ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit}
+long: ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit}
+long: ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit}
# RFC 2047 decode
# Calling a command
${run{DIR/aux-fixed/0002.runfile 0}}
-RC=$runrc
+rc=$runrc
${run{DIR/aux-fixed/0002.runfile 0}{1}{2}}
-RC=$runrc
+rc=$runrc
${run{DIR/aux-fixed/0002.runfile 0}{$value}{2}}
-RC=$runrc
+rc=$runrc
${run{DIR/aux-fixed/0002.runfile 1}{$value}{2}}
-RC=$runrc
+rc=$runrc
${run{DIR/aux-fixed/0002.runfile 1}{$value}{$value}}
-RC=$runrc
+rc=$runrc
${run{DIR/test-nonexist}{Y}{N}}
-RC=$runrc
+rc=$runrc
>>${run{DIR/bin/iefbr14}}<<
-RC=$runrc
+rc=$runrc
${if eq{1}{2}{${run{/non/exist}}}{1!=2}}
-RC=$runrc
+rc=$runrc
# PRVS
# crypteq expansions
exim -be
-BadCrypt: ${if crypteq{MySecret}{}{yes}{no}}
-MySecret: ${if crypteq{MySecret}{azrazPWCQJhyg}{yes}{no}}
-MySecret: ${if crypteq{MySecret}{aarazPWCQJhyg}{yes}{no}}
-MySecret: ${if crypteq{MySecret}{\{crypt\}azrazPWCQJhyg}{yes}{no}}
-MySecret: ${if crypteq{MySecret}{\{CRYPT\}zzrazPWCQJhyg}{yes}{no}}
+badCrypt: ${if crypteq{MySecret}{}{yes}{no}}
+mySecret: ${if crypteq{MySecret}{azrazPWCQJhyg}{yes}{no}}
+mySecret: ${if crypteq{MySecret}{aarazPWCQJhyg}{yes}{no}}
+mySecret: ${if crypteq{MySecret}{\{crypt\}azrazPWCQJhyg}{yes}{no}}
+mySecret: ${if crypteq{MySecret}{\{CRYPT\}zzrazPWCQJhyg}{yes}{no}}
crypt16: ${if crypteq{MySecret}{\{crypt16\}azrazPWCQJhyg}{yes}{no}}
crypt16: ${if crypteq{MySecretRhubarb}{\{crypt\}azrazPWCQJhyg}{yes}{no}}
# Combinations
-Y: ${if and {{crypteq{MySecret}{azrazPWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
-Y: ${if or {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
-Y: ${if or {{crypteq{MySecret}{azrazPWCQJhyg}}{exists{/etc/pxsswd}}}{Y}{N}}
-N: ${if or {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/pxsswd}}}{Y}{N}}
-N: ${if and {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
+y: ${if and {{crypteq{MySecret}{azrazPWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
+y: ${if or {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
+y: ${if or {{crypteq{MySecret}{azrazPWCQJhyg}}{exists{/etc/pxsswd}}}{Y}{N}}
+n: ${if or {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/pxsswd}}}{Y}{N}}
+n: ${if and {{crypteq{MySecret}{azrazQWCQJhyg}}{exists{/etc/passwd}}}{Y}{N}}
****
imapfolder conversions:
${imapfolder {Foo/Bar}}
-Foo.Bar
+. Foo.Bar
${imapfolder {Foo/Bar} {.} {/}}
-Foo&AC8-Bar
+. Foo&AC8-Bar
${imapfolder{Räksmörgås}}
-R&AOQ-ksm&APY-rg&AOU-s
+. R&AOQ-ksm&APY-rg&AOU-s
****
┌considering: no}}
├──expanding: no
└─────result: no
- ├──expanding: match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+ ├──expanding: a.b.c
└─────result: match_address: no
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
┌considering: -oMt sender_ident = $sender_ident
├──expanding: -oMt sender_ident = $sender_ident
└─────result: -oMt sender_ident = me
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
1999-03-02 09:44:33 no host name found for IP address V4NET.11.12.13
Exim version x.yz ....
configuration file is TESTSUITE/test-config
┌considering: -oMt sender_ident = $sender_ident
├──expanding: -oMt sender_ident = $sender_ident
└─────result: -oMt sender_ident = me
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=pppp
1.2.3.4 in "1.2.3"? no (malformed IPv4 address or address mask)
1.2.3.4 in "1.2.3.4/abc"? no (malformed IPv4 address or address mask)
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
-LOG: PANIC DIE
+LOG: PANIC
Exim configuration error in line 10 of TESTSUITE/test-config:
macro name too long (maximum is 63 characters)
in TESTSUITE/aux-fixed/0387.1
lookup yielded: [*.b.c]
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
in TESTSUITE/aux-fixed/0484.aliases
lookup yielded: userx
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
cached data used for lookup of a=localhost.test.ex
lookup yielded: 127.0.0.1
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
configuration file is TESTSUITE/test-config
admin user
in TESTSUITE/aux-fixed/sqlitedb
lookup yielded: name=it's id=its
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=pppp
in TESTSUITE/aux-fixed/sqlitedb
lookup yielded: Ayen Other
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
log from Perl
├──expanding: ${perl{log_write}{log from Perl}}
└─────result: Wrote log
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
LOG: smtp_connection MAIN
SMTP connection from CALLER
LOG: MAIN
in TESTSUITE/aux-fixed/3212.aliases
lookup yielded: userx
search_tidyup called
->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
> base32d: 42 42
> Failed: argument for base32d operator is "ABC", which is not a base 32 number
>
-> The base62 operator is actually a base36 operator in the Darwin and Cygwin
+> the base62 operator is actually a base36 operator in the Darwin and Cygwin
> environments. Write cunning tests that produce the same output in both cases,
> while doing a reasonable check.
>
> a.b.c: *.b.c
> ab.c: *b.c
> xyz: ^X
-> Xyz: ^X
-> Zyz: ^Z
+> .Xyz: ^X
+> .Zyz: ^Z
> a b: "^a +b"
> a b: "^a +b"
> a:b: lookup succeeded
> a.b.c: *.b.c
> ab.c: *b.c
> xyz: ^X
-> Xyz: ^X
-> Zyz: ^Z
+> .Xyz: ^X
+> .Zyz: ^Z
> a b: "^a +b"
> a b: "^a +b"
> a:b: lookup succeeded
>
> # Some tests of case-(in)dependence
>
-> MiXeD-CD: Data found for case-dependent MiXeD-CD
-> MixeD-CD: NOT FOUND
-> MiXeD-Ncd: Data found for case-independent MiXeD-nCD
-> MixeD-Ncd: Data found for case-independent MiXeD-nCD
+> .MiXeD-CD: Data found for case-dependent MiXeD-CD
+> .MixeD-CD: NOT FOUND
+> .MiXeD-Ncd: Data found for case-independent MiXeD-nCD
+> .MixeD-Ncd: Data found for case-independent MiXeD-nCD
>
> # IP address (CIDR) lookups
>
> 2
> 2
> 2
-> Empty:<>
-> Empty:<>
+> empty:<>
+> empty:<>
> <3>
> <3>
-> Empty:<>
-> Empty:<>
+> empty:<>
+> empty:<>
> no Z
> no 4
> Failed: "extract" failed and "fail" requested
> abcd abcd
> <:abcd:> =?iso-8859-8?Q?=3C=3Aabcd=3A=3E?=
> <:ab cd:> =?iso-8859-8?Q?=3C=3Aab_cd=3A=3E?=
-> Long: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_?= =?iso-8859-8?Q?it_will_go_over_the_75-char_limit?=
-> Long: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_?= =?iso-8859-8?Q?it_will_go_over_the_75-char_limit_by_a_long_way=3B_in?= =?iso-8859-8?Q?_fact_this_one_will_go_over_the_150_character_limit?=
+> long: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_?= =?iso-8859-8?Q?it_will_go_over_the_75-char_limit?=
+> long: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_?= =?iso-8859-8?Q?it_will_go_over_the_75-char_limit_by_a_long_way=3B_in?= =?iso-8859-8?Q?_fact_this_one_will_go_over_the_150_character_limit?=
>
> # RFC 2047 decode
>
> abcd
1234
-> RC=0
+> rc=0
> 1
-> RC=0
+> rc=0
> abcd
1234
-> RC=0
+> rc=0
> 2
-> RC=1
+> rc=1
> abcd
1234
-> RC=1
+> rc=1
> N
-> RC=127
+> rc=127
> >><<
-> RC=0
+> rc=0
> 1!=2
-> RC=0
+> rc=0
>
> # PRVS
>
-> BadCrypt: no
-> MySecret: yes
-> MySecret: no
-> MySecret: yes
-> MySecret: no
+> badCrypt: no
+> mySecret: yes
+> mySecret: no
+> mySecret: yes
+> mySecret: no
>
> crypt16: yes
> crypt16: yes
>
> # Combinations
>
-> Y: Y
-> Y: Y
-> Y: Y
-> N: N
-> N: N
+> y: Y
+> y: Y
+> y: Y
+> n: N
+> n: N
>
> imapfolder conversions:
>
> Foo.Bar
-> Foo.Bar
+> . Foo.Bar
>
> Foo&AC8-Bar
-> Foo&AC8-Bar
+> . Foo&AC8-Bar
>
> R&AOQ-ksm&APY-rg&AOU-s
-> R&AOQ-ksm&APY-rg&AOU-s
+> . R&AOQ-ksm&APY-rg&AOU-s
>
>
>