X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/f15b0e22422af2e14091e0ac6a58454b6849cba6..ffbb6f2982821e44c42da6b8816e4560f5a9accb:/test/runtest diff --git a/test/runtest b/test/runtest index 4972aedd8..84227b9d3 100755 --- a/test/runtest +++ b/test/runtest @@ -461,8 +461,8 @@ RESET_AFTER_EXTRA_LINE_READ: my($date1,$date2,$date3,$expired) = ($1,$2,$3,$4); $expired = '' if !defined $expired; - # Round the time-difference up to nearest even value - my($increment) = ((date_seconds($date3) - date_seconds($date2) + 1) >> 1) << 1; + # Round the time-difference down to nearest even value + my($increment) = ((date_seconds($date3) - date_seconds($date2)) >> 1) << 1; # We used to use globally unique replacement values, but timing # differences make this impossible. Just show the increment on the @@ -1047,6 +1047,9 @@ RESET_AFTER_EXTRA_LINE_READ: s/\b(gethostbyname2?|\bgetipnodebyname)(\(af=inet\))?/get[host|ipnode]byname[2]/; + # Extra lookups done when ipv6 is supported + next if /^host_fake_gethostbyname\(af=inet6\) returned 1 \(HOST_NOT_FOUND\)$/; + # we don't care what TZ enviroment the testhost was running next if /^Reset TZ to/; @@ -1067,6 +1070,32 @@ RESET_AFTER_EXTRA_LINE_READ: # this is timing-dependent next if /^OpenSSL: creating STEK$/; + # TLS preload + # only OpenSSL speaks of these + next if /^TLS: preloading (DH params|ECDH curve|CA bundle) for server/; + next if /^Diffie-Hellman initialized from default/; + next if /^ECDH OpenSSL [< ]?[\d.+]+ temp key parameter settings:/; + next if /^ECDH: .'*prime256v1'/; + next if /^tls_verify_certificates: system$/; + next if /^tls_set_watch: .*\/cert.pem/; + + # TLS preload + # only GnuTLS speaks of these + next if /^GnuTLS global init required$/; + next if /^TLS: basic cred init, server/; + next if /^TLS: preloading cipher list for server: NULL$/; + s/^GnuTLS using default session cipher\/priority "NORMAL"$/TLS: not preloading cipher list for server/; + next if /^GnuTLS<2>: added \d+ protocols, \d+ ciphersuites, \d+ sig algos and \d+ groups into priority list$/; + + # only kevent platforms (FreeBSD) say this + next if /^watch dir/; + next if /^watch file .*\/usr\/local/; + + # TLS preload + # there happen in different orders for OpenSSL/GnuTLS/noTLS + next if /^TLS: not preloading (CA bundle|cipher list) for server$/; + next if /^TLS: not preloading server certs$/; + # drop lookups next if /^Lookups \(built-in\):/; next if /^Loading lookup modules from/; @@ -1223,6 +1252,15 @@ RESET_AFTER_EXTRA_LINE_READ: s/^(\s*\d+|ppppp) \@?(.*exim_daemon_notify)$/ppppp $2/; next if /unlinking notifier socket/; + # daemon notifier socket + # Timing variance over runs. Collapse repeated memssages. + if (/notify triggered queue run/) + { + my $line = $_; + while (/notify triggered queue run/) { $_ = ; } + $_ = $line . $_; + } + # DISABLE_OCSP next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/; @@ -2766,8 +2804,9 @@ else { tests_exit(-1, "Command unrecognized in line $lineno: $_"); } # Run the command, with stdin connected to a pipe, and write the stdin data -# to it, with appropriate substitutions. If a line ends with \NONL\, chop off -# the terminating newline (and the \NONL\). If the command contains +# to it, with appropriate substitutions. If a starts with '>>> ', process it +# via Perl's string eval(). +# If the command contains # -DSERVER=server add "-server" to the command, where it will adjoin the name # for the stderr file. See comment above about the use of -DSERVER. @@ -2776,12 +2815,29 @@ print ">> |${cmd}${stderrsuffix}\n" if ($debug); open CMD, "|${cmd}${stderrsuffix}" || tests_exit(1, "Failed to run $cmd"); CMD->autoflush(1); -while (