# time used was fixed when I first started running automatic Exim tests.
# Date/time in header lines and SMTP responses
- s/[A-Z][a-z]{2},\s\d\d?\s[A-Z][a-z]{2}\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4}
- /Tue, 2 Mar 1999 09:44:33 +0000/gx;
+ s/[A-Z][a-z]{2},
+ (\s|\xE2\x96\x91)
+ \d\d?
+ (\s|\xE2\x96\x91)
+ [A-Z][a-z]{2}
+ (\s|\xE2\x96\x91)
+ \d{4}
+ (\s|\xE2\x96\x91)
+ \d\d\:\d\d:\d\d
+ (\s|\xE2\x96\x91)
+ [-+]\d{4}
+ /Tue,${1}2${2}Mar${3}1999${4}09:44:33${5}+0000/gx;
# and in a French locale
s/\S{4},\s\d\d?\s[^,]+\s\d{4}\s\d\d\:\d\d:\d\d\s[-+]\d{4}
/dim., 10 f\xE9vr 2019 20:05:49 +0000/gx;
s/((D|[RQD]T)=)\d\.\d{3}s/$1q.qqqs/g;
# Date/time in message separators
- s/(?:[A-Z][a-z]{2}\s){2}\d\d\s\d\d:\d\d:\d\d\s\d\d\d\d
- /Tue Mar 02 09:44:33 1999/gx;
+ s/(?:[A-Z][a-z]{2}
+ (\s|\xE2\x96\x91)
+ ){2}\d\d
+ (\s|\xE2\x96\x91)
+ \d\d:\d\d:\d\d
+ (\s|\xE2\x96\x91)
+ \d\d\d\d
+ /Tue${1}Mar${1}02${2}09:44:33${3}1999/gx;
# Date of message arrival in spool file as shown by -Mvh
s/^\d{9,10}\s0$/ddddddddd 0/;
# LIMITS is not always supported by the build
next if /^limits_advertise_hosts =/;
+ # PRDR
+ next if /^hosts_try_prdr = *$/;
+
# TLS resumption is not always supported by the build
next if /^tls_resumption_hosts =/;
next if /^-tls_resumption/;
s/250-AUTH ANONYMOUS PLAIN SCRAM-SHA-1\K SCRAM-SHA-256//;
# mailq times change with when the run is done, vs. static-source spoolfiles
- s/\s*\d*[hd](?= 317 [0-9A-Za-z\-]{23} <nobody\@test.ex>)/DDd/;
+ s/\s*\d*[hd](?= 317 (?:[-0-9A-Za-z]{23}|[-0-9A-Za-z]{16}) <nobody\@test.ex>)/DDd/;
+ # mailq sizes change with caller running the test
+ s/\s[01]m [34]\d\d(?= (?:[-0-9A-Za-z]{23}|[-0-9A-Za-z]{16}) <CALLER\@the.local.host.name>)/ 1m 396/;
# Not all builds include EXPERIMENTAL_DSN_INFO (1 of 2)
if (/^X-Exim-Diagnostic:/)
next if /^TLS: not preloading (CA bundle|cipher list) for server$/;
next if /^TLS: not preloading server certs$/;
- # some plaatforms are missing the standard CA bundle file
+ # some platforms are missing the standard CA bundle file
next if /^tls_set_watch\(\) fail on '\/usr\/lib\/ssl\/cert.pem': No such file or directory$/;
# drop lookups
# drop pdkim debugging header
next if /^DKIM( <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+|: no signatures)$/;
- # Some platforms have TIOCOUTome do not
+ # Some platforms have TIOCOUT, some do not
next if /\d+ bytes remain in socket output buffer$/;
# Various other IPv6 lines must be omitted too
}
# Different builds will have different lookup types included
- s/^\s*search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
+ s/search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
# and different numbers of lookup types result in different type-code letters,
# so convert them all to "0"
s%(?<!lsearch)[^ ](?=TESTSUITE/aux-fixed/(?:0414.list[12]|0464.domains)$)%0%;
+ # CONTENT_SCAN
+ next if /try option acl_not_smtp_mime$/;
+
# DISABLE_OCSP
next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/;
s/^cmd buf flush \d+ bytes/cmd buf flush ddd bytes/;
# Spool filesystem free space changes on different systems.
- s/^((?:spool|log) directory space =) -?\d+K (inodes =)\s*-?\d+/$1 nnnnnK $2 nnnnn/;
+ s/((?:spool|log) directory space =) -?\d+K (inodes =)\s*-?\d+/$1 nnnnnK $2 nnnnn/;
# Non-TLS builds have different expansions for received_header_text
if (s/(with \$received_protocol)\}\} \$\{if def:tls_cipher \{\(\$tls_cipher\)\n$/$1/)
# Not all platforms build with SPF enabled
next if /^(spf_conn_init|SPF_dns_exim_new|spf_compile\.c)/;
+ next if /try option spf_smtp_comment_template$/;
# Not all platforms have sendfile support
next if /^cannot use sendfile for body: no support$/;
next if / Berkeley DB error: /;
# CHUNKING: exact sizes depend on hostnames in headers
- s/(=>.* K C="250- \d)\d+ (byte chunk, total \d)\d+/$1nn $2nn/;
+ s/(=>.* K (?:DKIM=\S+ )?C="250- \d)\d+ (byte chunk, total \d)\d+/$1nn $2nn/;
# OpenSSL version variances
s/(TLS error on connection [^:]*: error:)[0-9A-F]{8}(:system library):(?:fopen|func\(4095\)|):(No such file or directory)$/$1xxxxxxxx$2:fopen:$3/;
s/ARC: AMS signing: privkey PEM-block import: error:\K[0-9A-F]{8}:PEM routines:PEM_read_bio:no start line$/1E08010C:DECODER routines::unsupported/;
# DKIM timestamps
- if ( /(DKIM: d=.*) t=([0-9]*) x=([0-9]*) / )
+ if ( /(DKIM: d=.*) t=([0-9]*) x=([0-9]*) \[/ )
{
my ($prefix, $t_diff) = ($1, $3 - $2);
s/DKIM: d=.* t=[0-9]* x=[0-9]* /${prefix} t=T x=T+${t_diff} /;
}
+ else
+ { s/DKIM: d=.* \Kt=[0-9]* \[/t=T [/; }
# GnuTLS reports a different keysize vs. OpenSSL, for ed25519 keys
s/signer: [^ ]* bits:\K 256/ 253/;
s/public key too short:\K 256 bits/ 253 bits/;
<IN>;
<IN>;
}
+ elsif ( /^(\s+)t=([0-9]*); b=[A-Za-z0-9+\/]+$/ )
+ {
+ my $indent = $1;
+ s/.*/${indent}t=T; b=bbbb;/;
+ <IN>;
+ <IN>;
+ }
# Not all builds include EXPERIMENTAL_DSN_INFO (2 of 2)
if (/^X-Exim-Diagnostic:/)
=cut
+# vi: aw ai sw=2
# End of runtest script