+ # remote port numbers vary
+ s/(Connection request from 127.0.0.1 port) \d{1,5}/$1 sssss/;
+
+ # Skip hosts_require_dane checks when the options
+ # are unset, because dane ain't always there.
+
+ next if /in\shosts_require_dane\?\sno\s\(option\sunset\)/x;
+
+ # SUPPORT_PROXY
+ next if /host in hosts_proxy\?/;
+
+ # Experimental_International
+ next if / in smtputf8_advertise_hosts\? no \(option unset\)/;
+
+ # Experimental_REQUIRETLS
+ next if / in tls_advertise_requiretls?\? no \(end of list\)/;
+
+ # Environment cleaning
+ next if /\w+ in keep_environment\? (yes|no)/;
+
+ # Sizes vary with test hostname
+ 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/;
+
+ # Non-TLS builds have different expansions for received_header_text
+ if (s/(with \$received_protocol)\}\} \$\{if def:tls_cipher \{\(\$tls_cipher\)\n$/$1/)
+ {
+ $_ .= <IN>;
+ s/[\sâ•Ž]+\}\}(?=\(Exim )/\}\} /;
+ }
+ if (/^ ├──condition: def:tls_cipher$/)
+ {
+ <IN>; <IN>; <IN>; <IN>; <IN>; <IN>;
+ <IN>; <IN>; <IN>; <IN>; <IN>; next;
+ }
+
+ # Not all platforms build with DKIM enabled
+ next if /^PDKIM >> Body data for hash, canonicalized/;
+
+ # Not all platforms have sendfile support
+ next if /^cannot use sendfile for body: no support$/;
+
+ # Parts of DKIM-specific debug output depend on the time/date
+ next if /^date:\w+,\{SP\}/;
+ next if /^PDKIM \[[^[]+\] (Header hash|b) computed:/;
+
+ # Not all platforms support TCP Fast Open, and the compile omits the check
+ if (s/\S+ in hosts_try_fastopen\? no \(option unset\)\n$//)
+ {
+ $_ .= <IN>;
+ s/ \.\.\. >>> / ... /;
+ s/Address family not supported by protocol family/Network Error/;
+ s/Network is unreachable/Network Error/;
+ }
+
+ next if /^(ppppp )?setsockopt FASTOPEN: Protocol not available$/;
+
+ # Specific pointer values reported for DB operations change from run to run
+ s/^(\s*returned from EXIM_DBOPEN: )(0x)?[0-9a-f]+/${1}0xAAAAAAAA/;
+ s/^(\s*EXIM_DBCLOSE.)(0x)?[0-9a-f]+/${1}0xAAAAAAAA/;
+
+ # Platform-dependent output during MySQL startup
+ next if /PerconaFT file system space/;
+ next if /^Waiting for MySQL server to answer/;
+ next if /mysqladmin: CREATE DATABASE failed; .* database exists/;
+
+ # Not all builds include DMARC
+ next if /^DMARC: no (dmarc_tld_file|sender_host_address)$/ ;
+