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
Fix 2-phase, in-order queue run delivery order
[exim.git]
/
test
/
runtest
diff --git
a/test/runtest
b/test/runtest
index 3fe7fe0440116f7e257162691eb63e89fb84e69f..d205f9509ba7334be0f4d408021db8b7f2ed0484 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})/;
###############################################################################
@@
-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/;
@@
-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";