git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Debug: indentation
[exim.git]
/
test
/
runtest
diff --git
a/test/runtest
b/test/runtest
index f626cb4ee16c6793c46d5fbc195b6adf4e31b3b2..7a642fc2014cd2c505250c0edae90812cb0d44a3 100755
(executable)
--- a/
test/runtest
+++ b/
test/runtest
@@
-2,6
+2,9
@@
# We use env, because in some environments of our build farm
# the Perl 5.010 interpreter is only reachable via $PATH
# We use env, because in some environments of our build farm
# the Perl 5.010 interpreter is only reachable via $PATH
+# Copyright (c) The Exim Maintainers 2024
+# SPDX-License-Identifier: GPL-2.0-or-later
+
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
# be possible to export this suite for running on a wide variety of hosts, in #
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
# be possible to export this suite for running on a wide variety of hosts, in #
@@
-120,7
+123,7
@@
my $parm_hostname;
my $re_ipv4 = qr/\d{1,3}(?:\.\d{1,3}){3}/;
my $re_6g = qr/[[:xdigit:]]{1,4}/;
my $re_6s = qr/${re_6g}:/;
my $re_ipv4 = qr/\d{1,3}(?:\.\d{1,3}){3}/;
my $re_6g = qr/[[:xdigit:]]{1,4}/;
my $re_6s = qr/${re_6g}:/;
-my $re_ipv6 = qr/
(?:${re_6s}){,7}${re_6g}(?:::(?:${re_6s}){
,5}${re_6g})?/;
+my $re_ipv6 = qr/
${re_6s}{0,7}${re_6g}(?:::${re_6s}{0
,5}${re_6g})?/;
my $re_ip = qr/(?:${re_ipv4}|${re_ipv6})/;
###############################################################################
my $re_ip = qr/(?:${re_ipv4}|${re_ipv6})/;
###############################################################################
@@
-572,10
+575,10
@@
RESET_AFTER_EXTRA_LINE_READ:
s/\d\d-\w\w\w-\d\d\d\d\s\d\d:\d\d:\d\d\s[-+]\d\d\d\d,/06-Sep-1999 15:52:48 +0100,/gx;
# Dates/times in debugging output for writing retry records
s/\d\d-\w\w\w-\d\d\d\d\s\d\d:\d\d:\d\d\s[-+]\d\d\d\d,/06-Sep-1999 15:52:48 +0100,/gx;
# Dates/times in debugging output for writing retry records
- if (/^
first failed=(\d+) last try=(\d+) next try=(\d+) (.*)$/)
+ if (/^
(\s+)
first failed=(\d+) last try=(\d+) next try=(\d+) (.*)$/)
{
{
- my($next) = $
3 - $2
;
- $_ = "
first failed=dddd last try=dddd next try=+$next $4
\n";
+ my($next) = $
4 - $3
;
+ $_ = "
$1first failed=dddd last try=dddd next try=+$next $5
\n";
}
s/^(\s*)now=\d+ first_failed=\d+ next_try=\d+ expired=(\w)/$1now=tttt first_failed=tttt next_try=tttt expired=$2/;
s/^(\s*)received_time=\d+ diff=\d+ timeout=(\d+)/$1received_time=tttt diff=tttt timeout=$2/;
}
s/^(\s*)now=\d+ first_failed=\d+ next_try=\d+ expired=(\w)/$1now=tttt first_failed=tttt next_try=tttt expired=$2/;
s/^(\s*)received_time=\d+ diff=\d+ timeout=(\d+)/$1received_time=tttt diff=tttt timeout=$2/;
@@
-1052,6
+1055,9
@@
RESET_AFTER_EXTRA_LINE_READ:
# remote IPv6 addrs vary
s/^(Connection request from) \[.*:.*:.*\]$/$1 \[ipv6\]/;
# remote IPv6 addrs vary
s/^(Connection request from) \[.*:.*:.*\]$/$1 \[ipv6\]/;
+ # Hints DB use of lockfiles is provider-dependent
+ s/Failed to open \K(?:DBM|database lock) file (.*\/spool\/db\/[^.]*)(?:.lockfile)?(?=(?: for reading)?: No such file or directory$)/hintsdb $1/;
+
# openssl version variances
# Error lines on stdout from SSL contain process id values and file names.
# They also contain a source file name and line number, which may vary from
# openssl version variances
# Error lines on stdout from SSL contain process id values and file names.
# They also contain a source file name and line number, which may vary from
@@
-1132,9
+1138,9
@@
RESET_AFTER_EXTRA_LINE_READ:
# because they will be different in different binaries.
next if /^$time_pid?
# because they will be different in different binaries.
next if /^$time_pid?
- (?:
Berkeley\ DB:\s
- | Probably\ (?:Berkeley\ DB|ndbm|GDBM)
- |
Using\ tdb
+ (?:
.*\sBerkeley\ DB
+ |
\s
Probably\ (?:Berkeley\ DB|ndbm|GDBM)
+ |
\sUsing\ (?:tdb|sqlite3)
| Authenticators:
| Lookups(?:\(built-in\))?:
| Support\ for:
| Authenticators:
| Lookups(?:\(built-in\))?:
| Support\ for:
@@
-1149,6
+1155,10
@@
RESET_AFTER_EXTRA_LINE_READ:
)
/x;
)
/x;
+ # Hints DB use of lockfiles is provider-dependent
+ next if /lock(?:ing|ed) .*\/spool\/db\/[^.]+\.lockfile$/;
+ s/closed hints database\K and lockfile$//;
+
# Lines with a leading pid. Only handle >= 4-digit PIDs to avoid converting SMTP respose codes
s/^\s*(\d{4,})\s(?!(?:previous message|in\s|bytes remain in|SMTP accept process running))/new_value($1, "p%s", \$next_pid) . ' '/e;
# Lines with a leading pid. Only handle >= 4-digit PIDs to avoid converting SMTP respose codes
s/^\s*(\d{4,})\s(?!(?:previous message|in\s|bytes remain in|SMTP accept process running))/new_value($1, "p%s", \$next_pid) . ' '/e;
@@
-1430,6
+1440,9
@@
RESET_AFTER_EXTRA_LINE_READ:
# DISABLE_OCSP
next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/;
# DISABLE_OCSP
next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/;
+ # WELLKNOWN
+ next if / in wellknown_advertise_hosts\?/;
+
# SUPPORT_PROXY
next if /host in hosts_proxy\?/;
# SUPPORT_PROXY
next if /host in hosts_proxy\?/;
@@
-1458,7
+1471,10
@@
RESET_AFTER_EXTRA_LINE_READ:
next if / in limits_advertise_hosts?\? no \(matched "!\*"\)/;
# Experimental_XCLIENT
next if / in limits_advertise_hosts?\? no \(matched "!\*"\)/;
# Experimental_XCLIENT
- next if / in hosts_xclient?\? no \(option unset\)/;
+ next if / in hosts_xclient\? no \(option unset\)/;
+
+ # Experimental_WELLKNOWN
+ next if / in hosts_wellknown\? no \(option unset\)/;
# TCP Fast Open
next if /^(ppppp )?setsockopt FASTOPEN: Network Error/;
# TCP Fast Open
next if /^(ppppp )?setsockopt FASTOPEN: Network Error/;
@@
-3362,7
+3378,7
@@
if (defined $parm_lookups{redis})
sub check_running_dovecot
{
sub check_running_dovecot
{
-system('dovecot --version >/dev/null');
+system('dovecot --version >/dev/null
2>&1
');
if ($? == 0)
{
print "Dovecot appears to be available\n";
if ($? == 0)
{
print "Dovecot appears to be available\n";
@@
-3663,7
+3679,7
@@
while (<EXIMINFO>)
}
elsif (/^Support for: (.*)/)
}
elsif (/^Support for: (.*)/)
- {
+ {
# Compile-time features - exim -bV
print;
@temp = split /(\s+)/, $1;
push(@temp, ' ');
print;
@temp = split /(\s+)/, $1;
push(@temp, ' ');
@@
-4230,7
+4246,7
@@
DIR: for (my $i = 0; $i < @test_dirs; $i++)
if (!defined $parm_malware{$1}) { $wantthis = 0; last; }
}
elsif (/^(not )?feature (.*)$/)
if (!defined $parm_malware{$1}) { $wantthis = 0; last; }
}
elsif (/^(not )?feature (.*)$/)
- {
+ {
#a macro name, or lack thereof - -bP macros
# move to a subroutine?
my $eximinfo = "$parm_exim -C $parm_cwd/test-config -DDIR=$parm_cwd -bP macro $2";
# move to a subroutine?
my $eximinfo = "$parm_exim -C $parm_cwd/test-config -DDIR=$parm_cwd -bP macro $2";