X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/c10d53a23e33e161e5e2ccc67257aaf60c424dd1..55240832db97f7a16fd6ef2e2bb8d899897a1347:/test/scripts/0000-Basic/0002?ds=inline diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 1ea5c4a48..278a38660 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -15,11 +15,15 @@ exim -be # Some fixed variables exim_path: $exim_path +exim_version: $exim_version +config_dir: $config_dir +config_file: $config_file primary_hostname: $primary_hostname primary_hostname: ${primary_hostname} qualify_domain: $qualify_domain bounce_return_size_limit: ${bounce_return_size_limit} spool_directory: $spool_directory +queue_name: $queue_name unknown: ${unknown} h_subject: $h_subject:(should be empty) h_subject:$h_subject (should be empty) @@ -75,6 +79,20 @@ listcount: ${listcount:} listcount: ${listcount:<;a;b;c} listcount: ${listcount:${listnamed:dlist}} +listextract: ${listextract{ 2}{a:b:c:d}} +listextract: ${listextract{-2}{<,a,b,c,d}{X${value}X}} +listextract: ${listextract{ 5}{a:b:c:d}} +listextract: ${listextract{-5}{a:b:c:d}} +listextract: ${listextract{ 5}{a:b:c:d}{}{fail}} +listextract: ${listextract{ 5}{a:b:c:d}{}fail} + +sort: ${sort{3:2:1:4}{<}{$item}} +sort: ${sort {<, 3,2,1,4}{>}{$item}} +sort: ${sort{c:B:a:aa}{lti}{$item}} +sort: ${sort{666 r99.ex.com:10 smtp.ex.com:100 r2.ex.com}{<}{${sg {$item}{([0-9]*).*\$}{\$1}}}} +sort: ${sort{666,r99.ex.com:10,smtp.ex.com:100,r2.ex.com}{<}{${listextract{1}{<,$item}}}} +sort: "${sort{}{<}{$item}}" + # Tests with iscntrl() and illegal separators map: ${map{<\n a\n\nb\nc}{'$item'}} @@ -191,6 +209,17 @@ mask: ${mask:192.168.10.206/33} mask: ${mask:192.168.10.206/0} mask: ${mask:192.168.10.206} mask: ${mask:a.b.c.d} +ipv6denorm: ${ipv6denorm:::1} +ipv6denorm: ${ipv6denorm:fe00::1} +ipv6denorm: ${ipv6denorm:192.168.0.1} +ipv6denorm: ${ipv6denorm:fe80::192.168.0.1} +ipv6norm: ${ipv6norm:0:0:0::1} +ipv6norm: ${ipv6norm:2a00::0} +ipv6norm: ${ipv6norm:2a00::1} +ipv6norm: ${ipv6norm:2a00:eadf:0000:0000:0000:0000:0001:0000} +ipv6norm: ${ipv6norm:2a00:eadf:0000:0001:0000:0000:0000:0000} +ipv6norm: ${ipv6norm:2a00:0:0:0::} +ipv6norm: ${ipv6norm:2a00:2:3:4:5:6:7:8} nhash: ${nhash_24:monty} ${nhash_8_63:monty python} lc/uc: ${lc:The Quick} ${uc: Brown Fox} length: ${length_10:The quick brown fox} ${l_10:abc} @@ -230,6 +259,10 @@ substr: ${s_1:} substr: ${substr_10:abc} str2b64:${str2b64:abcd} str2b64:${str2b64:The quick brown \n fox} +base64: ${base64:abcd} +base64: ${base64:The quick brown \n fox} +base64d:${base64d:YWJjZA==} +base64d:${base64d:VGhlIHF1aWNrIGJyb3duIAogZm94} strlen: ${strlen:} strlen: ${strlen:a} strlen: ${strlen:abcdefgh} @@ -287,10 +320,12 @@ mask: ${if eq {1}{2}{${mask:invalid}}{NO}} # Numeric overflow # >32b should work, >64b not -4096M ${if >{1}{4096M}{y}{n}} -4096000000 ${if >{1}{4096000000}{y}{n}} -4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}} -46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}} +1 > 2047M ${if >{1}{2047M}{y}{n}} +1 > 2048M ${if >{1}{2048M}{y}{n}} +1 > 4096000000 ${if >{1}{4096000000}{y}{n}} +1 > 4096M ${if >{1}{4096M}{y}{n}} +1 > 4611686018427387904 ${if >{1}{4611686018427387904} {y}{n}} +1 > 46116860184273879040 ${if >{1}{46116860184273879040}{y}{n}} # Conditions @@ -322,6 +357,7 @@ mask: ${if eq {1}{2}{${mask:invalid}}{NO}} 5>3m: ${if >{5 } {3m }{y}{n}} 5>3z: ${if >{5 } {3z }{y}{n}} 5>a: ${if >{ 5 } {a}{y}{n}} +5>bad: ${if >{5 } {${lookup{trick}lsearch{DIR/aux-fixed/0002.lsearch}}} {y}{n}} >0: ${if > {}{0}{y}{n}} =: ${if = {}{}{y}{n}} @@ -580,6 +616,10 @@ ${extract{}{X=3}} ${extract{ }{X=3}} ${extract{ 2 }{ }{a b c}} +${map{a,1:b,2:c,3}{${extract{1}{,}{$item}{$value}{}}}} +${map{a,1:b,2:c,3}{${extract{1}{,}{$item}{$value}{failcase}{bogus_argument}}}} +${map{a,1:b,2:c,3}{${extract{1}{,}{$item}{$value}fail}}} + # Translation abcdea aaa xyz ${tr{abcdea}{aaa}{xyz}} @@ -593,7 +633,7 @@ abcdea abc z ${tr{abcdea}{abc}{z}} " yes" ${if bool{ yes}{true}{false}} EXPECT: true " no" ${if bool{ no}{true}{false}} EXPECT: false "yes " ${if bool{yes }{true}{false}} EXPECT: true -"-1" ${if bool{-1}{true}{false}} EXPECT: error +"-1" ${if bool{-1}{true}{false}} EXPECT: true "0" ${if bool{0}{true}{false}} EXPECT: false "1" ${if bool{1}{true}{false}} EXPECT: true " 0 " ${if bool{ 0 }{true}{false}} EXPECT: false @@ -603,6 +643,7 @@ abcdea abc z ${tr{abcdea}{abc}{z}} " " ${if bool{ }{true}{false}} EXPECT: false "text" ${if bool{text}{true}{false}} EXPECT: error " text" ${if bool{ text}{true}{false}} EXPECT: error +"-text" ${if bool{-text}{true}{false}} EXPECT: error "text " ${if bool{text }{true}{false}} EXPECT: error " text " ${if bool{ text }{true}{false}} EXPECT: error "00" ${if bool{00}{true}{false}} EXPECT: false @@ -806,6 +847,11 @@ ${if forany{a:b:c}\ ${if ={1}{1} {true}{${if ={1}{1} {true}{${if ={1}{1}{true}fail}}}}} +# Environment access + +${env {USER}} +${env {NO_SUCH_VARIABLE} {oops, success} {correct}} + **** # Test "escape" with print_topbitchars exim -be -DPTBC=print_topbitchars @@ -821,6 +867,7 @@ match_address: ${if match_address{a.b.c}{a.b.c}{yes}{no}} **** # Sender host name and address etc, all unset exim -be +-be Sender host name and address etc, all unset -oMa sender_host_address = $sender_host_address sender_host_port = $sender_host_port -oMaa sender_host_authenticated = $sender_host_authenticated @@ -834,6 +881,7 @@ exim -be **** # Sender host name and address etc, all set except host name. exim -d-all+expand -be -oMa V4NET.0.0.1.1234 -oMaa AAA -oMai philip -oMas xx@yy.zz -oMi 1.1.1.1.99 -oMr special -oMt me +-be Sender host name and address etc, all set except host name. -oMa sender_host_address = $sender_host_address sender_host_port = $sender_host_port -oMaa sender_host_authenticated = $sender_host_authenticated @@ -846,17 +894,20 @@ exim -d-all+expand -be -oMa V4NET.0.0.1.1234 -oMaa AAA -oMai philip -oMas xx@yy. **** # Sender host name explicitly set exim -be -oMa V4NET.0.0.1.1234 -oMs my.host.name +-be Sender host name explicitly set -oMa sender_host_address = $sender_host_address sender_host_port = $sender_host_port -oMs sender_host_name = $sender_host_name **** # Sender host name lookup fails (V4NET.11.12.13 is not reverse registered) exim -be -oMa V4NET.11.12.13 +be Sender host name lookup fails (V4NET.11.12.13 is not reverse registered) -oMs sender_host_name = $sender_host_name host_lookup_failed = $host_lookup_failed **** # Sender host name and protocol set by Sendmail-compatible option exim -be -pspecial:host.name +-be Sender host name and protocol set by Sendmail-compatible option -p received_protocol = $received_protocol -p sender_host_name = $sender_host_name **** @@ -865,6 +916,7 @@ exim -be -pspecial:host.name # we are skipping. The debug output for this test will show when # the lookup occurs. exim -d-all+host_lookup+expand -be -oMa V4NET.0.0.1.1234 -oMaa AAA -oMai philip -oMas xx@yy.zz -oMi 1.1.1.1.99 -oMr special -oMt me +-be Sender host name and address etc, all set except host name -oMa sender_host_address = $sender_host_address sender_host_port = $sender_host_port -oMaa sender_host_authenticated = $sender_host_authenticated