X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/19fdbfb4a2b6ca4a6a96ef52be848f0a23e2414f..cfe6acff2ddc7eb03b3489770219edf829abd323:/test/runtest diff --git a/test/runtest b/test/runtest index 051508eca..a2e61442e 100755 --- a/test/runtest +++ b/test/runtest @@ -369,6 +369,10 @@ my($is_mail) = $file =~ /mail/; $date = "\\d{2}-\\w{3}-\\d{4}\\s\\d{2}:\\d{2}:\\d{2}"; +# Debug time & pid + +$time_pid = "(?:\\d{2}:\\d{2}:\\d{2}\\s+\\d+\\s)"; + # Pattern for matching pids at start of stderr lines; initially something # that won't match. @@ -960,6 +964,9 @@ RESET_AFTER_EXTRA_LINE_READ: # MIME boundaries in RFC3461 DSN messages s/\d{8,10}-eximdsn-\d+/NNNNNNNNNN-eximdsn-MMMMMMMMMM/; + # Cyrus SASL library version differences (rejectlog) + s/Cyrus SASL permanent failure: \Kuser not found$/generic failure/; + # ========================================================== # Some munging is specific to the specific file types @@ -1103,6 +1110,10 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^GnuTLS<2>: Intel (AES|GCM) accelerator was detected/; next if /^Added \d{3} certificate authorities/; next if /^TLS: not preloading CRL for server/; + next if /^GnuTLS<3>: ASSERT: extensions.c\[_gnutls_get_extension/; + next if /^GnuTLS<3>: ASSERT: \.\.\/\.\.\/\.\.\/lib\/x509\//; + next if /^GnuTLS<2>: Initializing PKCS #11 modules/; + # only kevent platforms (FreeBSD, OpenBSD) say this next if /^watch dir/; @@ -1117,28 +1128,28 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^TLS: not preloading server certs$/; # drop lookups - next if /^(?:\d\d:\d\d:\d\d\ \d+\ )?(?: Lookups\ \(built-in\): + next if /^$time_pid?(?: Lookups\ \(built-in\): | Loading\ lookup\ modules\ from | Loaded\ \d+\ lookup\ modules | Total\ \d+\ lookups)/x; # drop compiler information - next if /^(?:\d\d:\d\d:\d\d \d+ )?Compiler:/; + next if /^$time_pid?Compiler:/; # and the ugly bit # different libraries will have different numbers (possibly 0) of follow-up # lines, indenting with more data - if (/^(?:\d\d:\d\d:\d\d \d+ )?Library version:/) { + if (/^$time_pid?Library version:/) { while (1) { $_ = ; - next if /^(?:\d\d:\d\d:\d\d \d+ )?\s/; + next if /^$time_pid?\s/; goto RESET_AFTER_EXTRA_LINE_READ; } } # drop other build-time controls emitted for debugging - next if /^(?:\d\d:\d\d:\d\d \d+ )?WHITELIST_D_MACROS:/; - next if /^(?:\d\d:\d\d:\d\d \d+ )?TRUSTED_CONFIG_LIST:/; + next if /^$time_pid?WHITELIST_D_MACROS:/; + next if /^$time_pid?TRUSTED_CONFIG_LIST:/; # As of Exim 4.74, we log when a setgid fails; because we invoke Exim # with -be, privileges will have been dropped, so this will always @@ -1286,7 +1297,7 @@ RESET_AFTER_EXTRA_LINE_READ: } # Different builds will have different lookup types included - s/^search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/; + s/^\s*search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/; # DISABLE_OCSP next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/; @@ -1410,10 +1421,10 @@ RESET_AFTER_EXTRA_LINE_READ: # Time-only, in debug output # we have to handle double lines from the DBOPEN, hence placed down here and /mg - s/^\d\d:\d\d:\d\d\s/01:01:01 /mg; + s/^\d\d:\d\d:\d\d\s+/01:01:01 /mg; # pid in debug lines - s/^(\d\d:\d\d:\d\d)(\s\d+\s)/"$1 " . new_value($2, "%s", \$next_pid) . " "/mgxe; + s/^(\d\d:\d\d:\d\d)(\s+\d+\s)/"$1 " . new_value($2, "%s", \$next_pid) . " "/mgxe; s/(?>test-stdout"); + return 1; + } + + # The "eximstats" command runs eximstats on the current mainlog if (/^eximstats\s+(.*)/) @@ -3789,7 +3810,7 @@ if (defined $parm_lookups{dbm} && not cp("$parm_exim_dir/exim_dbmbuild", "eximdi $dbm_build_deleted = 1; } -foreach my $tool (qw(exim_dumpdb exim_lock exinext exigrep eximstats)) { +foreach my $tool (qw(exim_dumpdb exim_lock exinext exigrep eximstats exiqgrep)) { cp("$parm_exim_dir/$tool" => "eximdir/$tool") or tests_exit(-1, "Failed to make a copy of $tool: $!"); } @@ -3797,7 +3818,7 @@ foreach my $tool (qw(exim_dumpdb exim_lock exinext exigrep eximstats)) { # Collect some version information print '-' x 78, "\n"; print "Perl version for runtest: $]\n"; -foreach (map { "./eximdir/$_" } qw(exigrep exinext eximstats)) { +foreach (map { "./eximdir/$_" } qw(exigrep exinext eximstats exiqgrep)) { # fold (or unfold?) multiline output into a one-liner print join(', ', map { chomp; $_ } `$_ --version`), "\n"; }