X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/6a9cf7f890226aa085842cd3d94b13e78ea31637..625cd9501315e1010ecbf8718c88c8b79ce09e94:/test/runtest diff --git a/test/runtest b/test/runtest index f61b016f9..8a1e46edd 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,13 +1070,16 @@ 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 for server/; next if /^Diffie-Hellman initialized from default/; next if /^TLS: preloading ECDH curve for server/; - next if /^ECDH OpenSSL [\d.+]+ temp key parameter settings: default selection$/; - next if /^watch dir '\/etc\/pki\/tls'$/; + next if /^ECDH OpenSSL [< ]?[\d.+]+ temp key parameter settings:/; + next if /^ECDH: .'*prime256v1'/; + next if /^watch dir/; + # TLS preload # only GnuTLS speaks of these next if /^GnuTLS global init required$/; next if /^TLS: basic cred init, server/; @@ -1081,6 +1087,7 @@ RESET_AFTER_EXTRA_LINE_READ: 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$/; + # 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$/; @@ -1241,6 +1248,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)/; @@ -1293,14 +1309,6 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^date:\w+,\{SP\}/; next if /^DKIM \[[^[]+\] (Header hash|b) computed:/; - # Timing variable over runs. Collapse repeated memssages. - if (/notify triggered queue run/) - { - my $line = $_; - while (/notify triggered queue run/) { $_ = ; } - $_ = $line . $_; - } - # Not all platforms support TCP Fast Open, and the compile omits the check if (s/\S+ in hosts_try_fastopen\? (no \(option unset\)|no \(end of list\)|yes \(matched "\*"\))\n$//) { @@ -2792,8 +2800,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. @@ -2802,12 +2811,29 @@ print ">> |${cmd}${stderrsuffix}\n" if ($debug); open CMD, "|${cmd}${stderrsuffix}" || tests_exit(1, "Failed to run $cmd"); CMD->autoflush(1); -while (