X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/6336058cedeecb91a64ed69143b8b5221d08e16c..fbc48a247f1014e8c6a0c9772082dbd7e00c6a55:/test/lib/Exim/Runtest.pm diff --git a/test/lib/Exim/Runtest.pm b/test/lib/Exim/Runtest.pm index bdf9c60d6..6c2262f55 100644 --- a/test/lib/Exim/Runtest.pm +++ b/test/lib/Exim/Runtest.pm @@ -7,7 +7,9 @@ use IO::Socket::INET; use Cwd; use Carp; -use parent 'Exporter'; +use Exporter; +our @ISA = qw(Exporter); + our @EXPORT_OK = qw(mailgroup dynamic_socket exim_binary flavour flavours); our %EXPORT_TAGS = ( all => \@EXPORT_OK, @@ -62,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. @@ -99,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; @@ -114,10 +119,14 @@ 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; - my ($version) = /^VERSION_ID="?(.*?)"?\s*$/m; + my $version = /^VERSION_ID="?(.*?)"?\s*$/m ? $1 : ''; return "$id$version"; } @@ -132,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; } @@ -169,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