X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d54f95770344279e0fa76fa37524bc7dba42b244..e93ae25c007845adff89736d7d292fe75b8a0c7a:/test/lib/Exim/Runtest.pm diff --git a/test/lib/Exim/Runtest.pm b/test/lib/Exim/Runtest.pm index 32537f543..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,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"; } @@ -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