X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/fc4fcc349cf1c46dadd343b9f9fae8c232e6257e..a04185284e815e6e94613da045da770e562fce28:/test/runtest diff --git a/test/runtest b/test/runtest index 724ccd9ed..efcd3ed1c 100755 --- a/test/runtest +++ b/test/runtest @@ -771,6 +771,7 @@ RESET_AFTER_EXTRA_LINE_READ: # different wording in the error messages, so we cannot compare them. s/(TLS error on connection (?:from .* )?\(SSL_\w+\): error:)(.*)/$1 <>/; + next if /SSL verify error: depth=0 error=certificate not trusted/; # ======== Maildir things ======== # timestamp output in maildir processing @@ -1392,9 +1393,23 @@ $munges = { 'mail' => '/^(X-(Remote-MTA-(smtp-greeting|helo-response)|Exim-Diagnostic|(body|message)-linecount):|Remote-MTA: X-ip;)/' }, + 'optional_config' => + { 'stdout' => '/^( + dkim_(canon|domain|private_key|selector|sign_headers|strict) + |gnutls_require_(kx|mac|protocols) + |hosts_(requ(est|ire)|try)_(dane|ocsp) + |hosts_(avoid|nopass|require|verify_avoid)_tls + |socks_proxy + |tls_[^ ]* + )($|[ ]=)/x' }, + 'sys_bindir' => { 'mainlog' => 's%/(usr/)?bin/%SYSBINDIR/%' }, + 'sync_check_data' => + { 'mainlog' => 's/^(.* SMTP protocol synchronization error .* next input=.{8}).*$/$1/', + 'rejectlog' => 's/^(.* SMTP protocol synchronization error .* next input=.{8}).*$/$1/'}, + }; @@ -2576,7 +2591,7 @@ else die "Unable to check the TRUSTED_CONFIG_LIST, seems to be empty?\n"; } -open(EXIMINFO, "$parm_exim -bV -C $parm_cwd/test-config -DDIR=$parm_cwd |") || +open(EXIMINFO, "$parm_exim -d-all+transport -bV -C $parm_cwd/test-config -DDIR=$parm_cwd |") || die "** Cannot run $parm_exim: $!\n"; print "-" x 78, "\n"; @@ -2585,7 +2600,7 @@ while () { my(@temp); - if (/^Exim version/) { print; } + if (/^(Exim|Library) version/) { print; } elsif (/^Size of off_t: (\d+)/) { @@ -2857,7 +2872,7 @@ if (defined $parm_support{'Content_Scanning'}) ################################################## # Check for redis # ################################################## -if (defined $parm_support{'Experimental_Redis'}) +if (defined $parm_lookups{'redis'}) { if (system("redis-server -v 2>/dev/null >/dev/null") == 0) { @@ -3204,6 +3219,11 @@ if ($parm_caller_uid eq $parm_exim_uid) { tests_exit(-1, "Exim user ($parm_eximuser,$parm_exim_uid) cannot be " ."the same as caller ($parm_caller,$parm_caller_uid)"); } +if ($parm_caller_gid eq $parm_exim_gid) { + tests_exit(-1, "Exim group ($parm_eximgroup,$parm_exim_gid) cannot be " + ."the same as caller's ($parm_caller) group as it confuses " + ."results analysis"); +} print "The Exim user needs access to the test suite directory. Checking ..."; @@ -3751,7 +3771,15 @@ $0 = "[runtest $testno]"; $_ = $force_continue ? "c" : ; tests_exit(1) if /^q?$/i; log_failure($log_failed_filename, $testno, "exit code unexpected") if (/^c$/i && $force_continue); - print "... continue forced\n" if $force_continue; + if ($force_continue) + { + print "\nstderr tail:\n"; + print "===================\n"; + system("tail -20 test-stderr"); + print "===================\n"; + print "... continue forced\n"; + } + last if /^[rc]$/i; if (/^e$/i) {