summaryrefslogtreecommitdiffstats
path: root/selftest
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-04-18 13:44:36 +1000
committerKarolin Seeger <kseeger@samba.org>2011-04-26 20:11:17 +0200
commit6f971090309ce1cc2de9428a520c7d6dcf02bb0f (patch)
treefeaa9a1d657a0a4caef5ad8eb79adceeea43a85d /selftest
parent945555db4d6b4ba2cba021515e7116c0aaea2b47 (diff)
downloadsamba-6f971090309ce1cc2de9428a520c7d6dcf02bb0f.tar.gz
samba-6f971090309ce1cc2de9428a520c7d6dcf02bb0f.tar.xz
samba-6f971090309ce1cc2de9428a520c7d6dcf02bb0f.zip
selftest: put the target on the environment
This will allow us to have a 'switch' target type that creates environments from Samba3 or Samba4 as required. Andrew Bartlett (cherry picked from commit d041ed233d1b10604ef1b9f7f1e68f6f5cd96132) (cherry picked from commit 2df698ffec823938566de0a3c7120d149b57bf0a)
Diffstat (limited to 'selftest')
-rwxr-xr-xselftest/selftest.pl16
1 files changed, 11 insertions, 5 deletions
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 9db3f21bb87..158ff480d21 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -846,12 +846,15 @@ sub setup_env($$)
$testenv_vars = {};
} elsif (defined(get_running_env($envname))) {
$testenv_vars = get_running_env($envname);
- if (not $target->check_env($testenv_vars)) {
- print $target->getlog_env($testenv_vars);
+ if (not $testenv_vars->{target}->check_env($testenv_vars)) {
+ print $testenv_vars->{target}->getlog_env($testenv_vars);
$testenv_vars = undef;
}
} else {
$testenv_vars = $target->setup_env($envname, $prefix);
+ if (defined($testenv_vars) && not defined($testenv_vars->{target})) {
+ $testenv_vars->{target} = $target;
+ }
}
return undef unless defined($testenv_vars);
@@ -897,21 +900,24 @@ sub getlog_env($)
{
my ($envname) = @_;
return "" if ($envname eq "none");
- return $target->getlog_env(get_running_env($envname));
+ my $env = get_running_env($envname);
+ return $env->{target}->getlog_env($env);
}
sub check_env($)
{
my ($envname) = @_;
return 1 if ($envname eq "none");
- return $target->check_env(get_running_env($envname));
+ my $env = get_running_env($envname);
+ return $env->{target}->check_env($env);
}
sub teardown_env($)
{
my ($envname) = @_;
return if ($envname eq "none");
- $target->teardown_env(get_running_env($envname));
+ my $env = get_running_env($envname);
+ $env->{target}->teardown_env($env);
delete $running_envs{$envname};
}