Testsuite: honour the "build" environment variable
[exim.git] / test / lib / Exim / Runtest.pm
index 32537f5432fa8788db1bea2b9a2b104390c28af1..537cea1e9513df139f68515be3261d18810c574e 100644 (file)
@@ -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;
 
@@ -119,7 +122,7 @@ sub flavour {
     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";
     }