X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/9214c762c1b3717ff92351c8a217cee6726d993b..f31b1cd64dfcc7e6a8860ee418543949effd517e:/test/lib/Exim/Runtest.pm diff --git a/test/lib/Exim/Runtest.pm b/test/lib/Exim/Runtest.pm index ce91084f4..6c2262f55 100644 --- a/test/lib/Exim/Runtest.pm +++ b/test/lib/Exim/Runtest.pm @@ -64,8 +64,10 @@ sub dynamic_socket { sub exim_binary { # two simple cases, absolute path or relative path and executable - return @_ if $_[0] =~ /^\//; - return Cwd::abs_path(shift), @_ if -x $_[0]; + if (@_) { + return @_ if $_[0] =~ /^\//; + return Cwd::abs_path(shift), @_ if -x $_[0]; + } # so we're still here, if the simple approach didn't help. @@ -101,6 +103,7 @@ sub exim_binary { my $os = `$_/scripts/os-type`; my $arch = `$_/scripts/arch-type`; chomp($os, $arch); + ($ENV{build} ? "$_/build-$ENV{build}" : ()), "$_/build-$os-$arch" . ($ENV{EXIM_BUILD_SUFFIX} ? ".$ENV{EXIM_BUILD_SUFFIX}" : ''); } @candidates; @@ -116,6 +119,10 @@ sub flavour { $etc = shift; } + if (open(my $f, '-|', 'openssl version')) { + <$f> =~ /(1\.1\.1|3\.\d+\.\d+)/ && return "openssl_1_1_1"; + } + if (open(my $f, '<', "$etc/os-release")) { local $_ = join '', <$f>; my ($id) = /^ID="?(.*?)"?\s*$/m; @@ -134,7 +141,7 @@ sub flavour { sub flavours { my %h = map { /\.(\S+)$/, 1 } - glob('stdout/*.*'), glob('stderr/*.*'); + grep { !/\.orig$/ } glob('stdout/*.*'), glob('stderr/*.*'), glob('log/*.*'); return sort keys %h; } @@ -171,7 +178,7 @@ typical files in the F directory. =item B() -Return a list of available flavours. It does so by scanning F and +Return a list of available flavours. It does so by scanning F, F and F for I files (extensions after the numerical prefix. =back