X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/f7598860019d4a0867ca37688461e16927cd7928..2f06ffd252140e2cb71050aa8a9d45a75bc3437b:/test/runtest diff --git a/test/runtest b/test/runtest index 1b6eaabb0..45ee6e208 100755 --- a/test/runtest +++ b/test/runtest @@ -772,7 +772,7 @@ RESET_AFTER_EXTRA_LINE_READ: } # Port in host address in spool file output from -Mvh - s/^-host_address (.*)\.\d+/-host_address $1.9999/; + s/^(--?host_address) (.*)\.\d+/$1 $2.9999/; if ($dynamic_socket and $dynamic_socket->opened and my $port = $dynamic_socket->sockport) { s/^Connecting to 127\.0\.0\.1 port \K$port//; @@ -1085,7 +1085,7 @@ RESET_AFTER_EXTRA_LINE_READ: next if /name=localhost address=::1/; # drop pdkim debugging header - next if /^PDKIM( <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+|: no signatures)$/; + next if /^DKIM( <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+|: no signatures)$/; # Various other IPv6 lines must be omitted too @@ -1093,6 +1093,7 @@ RESET_AFTER_EXTRA_LINE_READ: next if /get\[host\|ipnode\]byname\[2\]\(af=inet6\)/; next if /DNS lookup of \S+ \(AAAA\) using fakens/; next if / in dns_ipv4_lookup?/; + next if / writing neg-cache entry for .*AAAA/; if (/DNS lookup of \S+ \(AAAA\) gave NO_DATA/) { @@ -1154,11 +1155,20 @@ RESET_AFTER_EXTRA_LINE_READ: # remote port numbers vary s/(Connection request from 127.0.0.1 port) \d{1,5}/$1 sssss/; + # Platform-dependent error strings + s/Operation timed out/Connection timed out/; + + # Platform-dependent resolver option bits + s/^ (?:writing|update) neg-cache entry for [^,]+-\K[0-9a-f]+, ttl/xxxx, ttl/; + + # timing variance, run-to-run + s/^time on queue = \K1s/0s/; + # 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; - # DISABLE_OCSP + # DISABLE_OCSP next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/; # SUPPORT_PROXY @@ -1198,20 +1208,24 @@ RESET_AFTER_EXTRA_LINE_READ: } # Not all platforms build with DKIM enabled - next if /^PDKIM >> Body data for hash, canonicalized/; + next if /^DKIM >> Body data for hash, canonicalized/; + + # Not all platforms build with SPF enabled + next if /^(spf_conn_init|SPF_dns_exim_new|spf_compile\.c)/; # 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:/; + next if /^DKIM \[[^[]+\] (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\)|yes \(matched "\*"\))\n$//) { $_ .= ; s/ \.\.\. >>> / ... /; + if (s/ non-TFO mode connection attempt to 224.0.0.0, 0 data\b$//) { $_ .= ; } s/Address family not supported by protocol family/Network Error/; s/Network is unreachable/Network Error/; } @@ -1220,23 +1234,23 @@ RESET_AFTER_EXTRA_LINE_READ: if (/^([0-9: ]* # possible timestamp Connecting\ to\ [^ ]+\ [^ ]+(\ from\ [^ ]+)?)\ \.\.\. - \ .*TFO\ mode\ + \ .*TFO\ mode\x20 (sendto,\ no\ data:\ EINPROGRESS # Linux - |connection\ attempt\ to\ [^,]+,\ 0\ data) # MacOS + |connection\ attempt\ to\ [^,]+,\ 0\ data) # MacOS & no-support $/x) { $_ = $1 . " ... " . ; - s/^(.* \.\.\.) [0-9: ]*connected$/$1 connected/; + s/^(.* \.\.\.) [0-9: ]*connected$/$1 connected/; - if (/^Connecting to .* \.\.\. connected$/) + if (/^Connecting to .* \.\.\. connected$/) { $_ .= ; - if (/^(Connecting to .* \.\.\. )connected\n\s+SMTP(\(close\)>>|\(Connection refused\)<<)$/) + if (/^(Connecting to .* \.\.\. )connected\n\s+SMTP(\(close\)>>|\(Connection refused\)<<)$/) { $_ = $1 . "failed: Connection refused\n" . ; s/^(Connecting .*)\n\s+SMTP\(close\)>>$/$1/; } - elsif (/^(Connecting to .* \.\.\. connected\n)read response data: size=/) + elsif (/^(Connecting to .* \.\.\. connected\n)read response data: size=/) { $_ = $1; } # Date/time in SMTP banner @@ -1260,6 +1274,9 @@ RESET_AFTER_EXTRA_LINE_READ: # TLS resumption is not always supported by the build next if /in tls_resumption_hosts\?/; + # Platform differences in errno strings + s/ SMTP\(Operation timed out\)<)) { if (not $parm_ipv4 and /^\s*inet(?:\saddr)?:?\s?(\d+\.\d+\.\d+\.\d+)(?:\/\d+)?\s/i) { - next if $1 =~ /^(?:127|10)\./; + # It would ne nice to be able to vary the /16 used for manyhome; we could take + # an option to runtest used here - but we'd also have to pass it on to fakens. + # Possibly an environment variable? + next if $1 eq '0.0.0.0' or $1 =~ /^(?:127|10\.250)\./; $parm_ipv4 = $1; } if (not $parm_ipv6 and /^\s*inet6(?:\saddr)?:?\s?([abcdef\d:]+)(?:%[^ \/]+)?(?:\/\d+)?/i) { - next if $1 eq '::1' or $1 =~ /^fe80/i; + next if $1 eq '::' or $1 eq '::1' or $1 =~ /^fe80/i; $parm_ipv6 = $1; } } @@ -4218,10 +4239,22 @@ foreach $test (@test_list) print "==================>\n"; system("tail -20 test-stdout"); print "===================\n"; + print "stderr tail:\n"; print "==================>\n"; - system("tail -20 test-stderr"); + system("tail -30 test-stderr"); print "===================\n"; + + print "stdout-server tail:\n"; + print "==================>\n"; + system("tail -20 test-stdout-server"); + print "===================\n"; + + print "stderr-server tail:\n"; + print "==================>\n"; + system("tail -30 test-stderr-server"); + print "===================\n"; + print "... continue forced\n"; }