selftest: Make bindir_path much less complex
[mimir/samba.git] / selftest / target / Samba.pm
index fc7e68dfde7c49942d13f719a2b30348ece7e3c6..ec8ab2bec923b8fa24c0350c807bdb65b9b2f846 100644 (file)
@@ -10,11 +10,11 @@ use target::Samba3;
 use target::Samba4;
 
 sub new($$$$$) {
-       my ($classname, $bindir, $binary_mapping, $bindir_path, $ldap, $srcdir, $exeext, $server_maxtime) = @_;
+       my ($classname, $bindir, $binary_mapping,$ldap, $srcdir, $exeext, $server_maxtime) = @_;
 
        my $self = {
-           samba3 => new Samba3($bindir,$binary_mapping, $bindir_path, $srcdir, $exeext, $server_maxtime),
-           samba4 => new Samba4($bindir,$binary_mapping, $bindir_path, $ldap, $srcdir, $exeext, $server_maxtime),
+           samba3 => new Samba3($bindir,$binary_mapping, $srcdir, $exeext, $server_maxtime),
+           samba4 => new Samba4($bindir,$binary_mapping, $ldap, $srcdir, $exeext, $server_maxtime),
        };
        bless $self;
        return $self;
@@ -42,4 +42,17 @@ sub setup_env($$$)
        return $env;
 }
 
+sub bindir_path($$) {
+       my ($object, $path) = @_;
+
+       if (defined($object->{binary_mapping}->{$path})) {
+           $path = $object->{binary_mapping}->{$path};
+       }
+
+       my $valpath = "$object->{bindir}/$path$object->{exeext}";
+
+       return $valpath if (-f $valpath);
+       return $path;
+}
+
 1;