TLS: preload configuration items
[users/heiko/exim.git] / test / runtest
index 9621e276e2046699bfc3dc33328f8e0ef3587c8f..f61b016f96eae63df47bc4411d6af7c98e079659 100755 (executable)
@@ -1067,6 +1067,24 @@ RESET_AFTER_EXTRA_LINE_READ:
     # this is timing-dependent
     next if /^OpenSSL: creating STEK$/;
 
+    # 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'$/;
+
+    # 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$/;
+
+    # 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/;
@@ -1275,6 +1293,14 @@ 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/) { $_ = <IN>; }
+      $_ = $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$//)
       {
@@ -2766,9 +2792,8 @@ 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 starts with '>>> ', process it
-# via Perl's string eval().
-# If the command contains
+# to it, with appropriate substitutions. If a line ends with \NONL\, chop off
+# the terminating newline (and the \NONL\). 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.
 
@@ -2782,8 +2807,7 @@ while (<SCRIPT>)
   $lineno++;
   last if /^\*{4}\s*$/;
   do_substitute($testno);
-  s/^>>>\s(.*)\s*$/$1/ and $_ = eval "\"$1\"";
-  print CMD;
+  if (/^(.*)\\NONL\\\s*$/) { print CMD $1; } else { print CMD; }
   }
 
 # For timeout tests, wait before closing the pipe; we expect a