[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Mon Apr 11 17:54:02 MDT 2011
The branch, master has been updated
via bb15aa5 s3/selftest Tear down the environment if we fail to connect
from e3c3b4d s3-printing: Use become_user_by_session() function.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit bb15aa58bc862fbd33b67d5570f68e4232db1a88
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Apr 12 09:05:34 2011 +1000
s3/selftest Tear down the environment if we fail to connect
This removes the exit(1) that previously didn't tear down the
environment correctly, and instead just fails to set it up, allowing
the rest of the script handle that with more grace.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet at samba.org>
Autobuild-Date: Tue Apr 12 01:53:37 CEST 2011 on sn-devel-104
-----------------------------------------------------------------------
Summary of changes:
selftest/target/Samba3.pm | 48 +++++++++++++++++++++++++++++++++-----------
1 files changed, 36 insertions(+), 12 deletions(-)
Changeset truncated at 500 lines:
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 9a3be7d..d2082f5 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -106,12 +106,16 @@ sub setup_env($$$)
return $self->setup_ktest("$path/ktest");
} elsif ($envname eq "secserver") {
if (not defined($self->{vars}->{dc})) {
- $self->setup_dc("$path/dc");
+ if (not defined($self->setup_dc("$path/dc"))) {
+ return undef;
+ }
}
return $self->setup_secserver("$path/secserver", $self->{vars}->{dc});
} elsif ($envname eq "member") {
if (not defined($self->{vars}->{dc})) {
- $self->setup_dc("$path/dc");
+ if (not defined($self->setup_dc("$path/dc"))) {
+ return undef;
+ }
}
return $self->setup_member("$path/member", $self->{vars}->{dc});
} else {
@@ -137,11 +141,15 @@ sub setup_dc($$)
"localdc2pass",
$dc_options);
+ $vars or return undef;
+
$self->check_or_start($vars,
($ENV{SMBD_MAXTIME} or 2700),
"yes", "yes", "yes");
- $self->wait_for_start($vars);
+ if (not $self->wait_for_start($vars)) {
+ return undef;
+ }
$vars->{DC_SERVER} = $vars->{SERVER};
$vars->{DC_SERVER_IP} = $vars->{SERVER_IP};
@@ -170,7 +178,7 @@ sub setup_member($$$)
"localmember3pass",
$member_options);
- $ret or die("Unable to provision");
+ $ret or return undef;
my $net = $self->binpath("net");
my $cmd = "";
@@ -184,7 +192,9 @@ sub setup_member($$$)
($ENV{SMBD_MAXTIME} or 2700),
"yes", "yes", "yes");
- $self->wait_for_start($ret);
+ if (not $self->wait_for_start($ret)) {
+ return undef;
+ }
$ret->{DC_SERVER} = $dcvars->{SERVER};
$ret->{DC_SERVER_IP} = $dcvars->{SERVER_IP};
@@ -212,11 +222,15 @@ sub setup_secshare($$)
"local4pass",
$secshare_options);
+ $vars or return undef;
+
$self->check_or_start($vars,
($ENV{SMBD_MAXTIME} or 2700),
"yes", "no", "yes");
- $self->wait_for_start($vars);
+ if (not $self->wait_for_start($vars)) {
+ return undef;
+ }
$self->{vars}->{secshare} = $vars;
@@ -240,13 +254,15 @@ sub setup_secserver($$$)
"localserver5pass",
$secserver_options);
- $ret or die("Unable to provision");
+ $ret or return undef;
$self->check_or_start($ret,
($ENV{SMBD_MAXTIME} or 2700),
"yes", "no", "yes");
- $self->wait_for_start($ret);
+ if (not $self->wait_for_start($ret)) {
+ return undef;
+ }
$ret->{DC_SERVER} = $dcvars->{SERVER};
$ret->{DC_SERVER_IP} = $dcvars->{SERVER_IP};
@@ -276,7 +292,7 @@ sub setup_ktest($$$)
"localktest6pass",
$ktest_options);
- $ret or die("Unable to provision");
+ $ret or return undef;
open(USERMAP, ">$prefix/lib/username.map") or die("Unable to open $prefix/lib/username.map");
print USERMAP "
@@ -326,7 +342,9 @@ $ret->{USERNAME} = KTEST\\Administrator
($ENV{SMBD_MAXTIME} or 2700),
"yes", "no", "yes");
- $self->wait_for_start($ret);
+ if (not $self->wait_for_start($ret)) {
+ return undef;
+ }
return $ret;
}
@@ -873,12 +891,18 @@ sub wait_for_start($$)
} while ($ret != 0 && $count < 10);
if ($count == 10) {
print "SMBD failed to start up in a reasonable time (20sec)\n";
- exit 1;
+ teardown_env($self, $envvars);
+ return 0;
}
# Ensure we have domain users mapped.
- system($self->binpath("net") ." $envvars->{CONFIGURATION} groupmap add rid=513 unixgroup=domusers type=domain");
+ $ret = system($self->binpath("net") ." $envvars->{CONFIGURATION} groupmap add rid=513 unixgroup=domusers type=domain");
+ if ($ret != 0) {
+ return 1;
+ }
print $self->getlog_env($envvars);
+
+ return 1;
}
1;
--
Samba Shared Repository
More information about the samba-cvs
mailing list