From: Stefan Metzmacher Date: Thu, 24 Feb 2011 10:38:17 +0000 (+0100) Subject: HACK selftest s3member admember... X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=ed7f2d8bb08f15739fd53f462d57318318bf0f1c HACK selftest s3member admember... --- diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index b46a2df8d7be..8d59bb2690e1 100644 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -188,6 +188,47 @@ sub setup_member($$$) return $ret; } +sub setup_admember($$$$) +{ + my ($self, $prefix, $dcvars, $iface) = @_; + + print "PROVISIONING S3 AD MEMBER$iface..."; + + my $member_options = " + security = domain + server signing = on +"; + my $ret = $self->provision($prefix, + "LOCALADMEMBER$iface", + $iface, + "loCalMember${iface}Pass", + $member_options); + + $ret or die("Unable to provision"); + + my $net = $self->binpath("net"); + my $cmd = ""; + $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" "; + $cmd .= "selftest/gdb_run test $net join $ret->{CONFIGURATION} $dcvars->{DOMAIN} member"; + $cmd .= " -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD} -d 10 2>&1 | tee s3member-join.txt"; + + system($cmd) == 0 or die("Join failed\n$cmd"); + + $self->check_or_start($ret, + ($ENV{SMBD_MAXTIME} or 2700), + "yes", "yes", "yes"); + + $self->wait_for_start($ret); + + $ret->{DC_SERVER} = $dcvars->{SERVER}; + $ret->{DC_SERVER_IP} = $dcvars->{SERVER_IP}; + $ret->{DC_NETBIOSNAME} = $dcvars->{NETBIOSNAME}; + $ret->{DC_USERNAME} = $dcvars->{USERNAME}; + $ret->{DC_PASSWORD} = $dcvars->{PASSWORD}; + + return $ret; +} + sub setup_secshare($$) { my ($self, $path) = @_; diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm index d4817bb5c7d0..f863ca751993 100644 --- a/selftest/target/Samba4.pm +++ b/selftest/target/Samba4.pm @@ -11,6 +11,8 @@ use FindBin qw($RealBin); use POSIX; use SocketWrapper; +use target::Samba3; + sub new($$$$$) { my ($classname, $bindir, $ldap, $srcdir, $exeext) = @_; $exeext = "" unless defined($exeext); @@ -19,7 +21,8 @@ sub new($$$$$) { ldap => $ldap, bindir => $bindir, srcdir => $srcdir, - exeext => $exeext + exeext => $exeext, + target3 => new Samba3($bindir,$srcdir), }; bless $self; return $self; @@ -1273,6 +1276,7 @@ sub check_env($$) sub setup_env($$$) { my ($self, $envname, $path) = @_; + my $target3 = $self->{target3}; $ENV{ENVNAME} = $envname; @@ -1304,6 +1308,11 @@ sub setup_env($$$) $self->setup_dc("$path/dc"); } return $self->setup_rodc("$path/rodc", $self->{vars}->{dc}); + } elsif ($envname eq "s3member") { + if (not defined($self->{vars}->{dc})) { + $self->setup_dc("$path/dc"); + } + return $target3->setup_admember("$path/s3member", $self->{vars}->{dc}, 9); } elsif ($envname eq "all") { if (not defined($self->{vars}->{dc})) { $ENV{ENVNAME} = "dc"; @@ -1354,6 +1363,18 @@ sub setup_env($$$) $ret->{FL2008R2DC_USERNAME} = $fl2008r2dc_ret->{USERNAME}; $ret->{FL2008R2DC_PASSWORD} = $fl2008r2dc_ret->{PASSWORD}; } + if (not defined($self->{vars}->{s3member})) { + $ENV{ENVNAME} = "s3member"; + my $s3member_ret = $target3->setup_admember("$path/s3member", $self->{vars}->{dc}, 9); + $self->{vars}->{s3member} = $s3member_ret; + + $ret->{S3MEMBER_SERVER} = $s3member_ret->{SERVER}; + $ret->{S3MEMBER_SERVER_IP} = $s3member_ret->{SERVER_IP}; + $ret->{S3MEMBER_NETBIOSNAME} = $s3member_ret->{NETBIOSNAME}; + $ret->{S3MEMBER_NETBIOSALIAS} = $s3member_ret->{NETBIOSALIAS}; + $ret->{S3MEMBER_USERNAME} = $s3member_ret->{USERNAME}; + $ret->{S3MEMBER_PASSWORD} = $s3member_ret->{PASSWORD}; + } return $ret; } else { warn("Samba4 can't provide environment '$envname'"); diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index 9c6cbd334d45..5cfa6e86d6a3 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -275,6 +275,7 @@ plantestsuite("samba4.blackbox.masktest", "dc", [os.path.join(samba4srcdir, "tor plantestsuite("samba4.blackbox.gentest(dc)", "dc", [os.path.join(samba4srcdir, "torture/tests/test_gentest.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$DOMAIN', "$PREFIX"]) plantestsuite("samba4.blackbox.wbinfo(dc:local)", "dc:local", [os.path.join(samba4srcdir, "../nsswitch/tests/test_wbinfo.sh"), '$DOMAIN', '$USERNAME', '$PASSWORD', "dc"]) plantestsuite("samba4.blackbox.wbinfo(member:local)", "member:local", [os.path.join(samba4srcdir, "../nsswitch/tests/test_wbinfo.sh"), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', "member"]) +plantestsuite("samba4.blackbox.wbinfo(s3member:local)", "s3member:local", [os.path.join(samba4srcdir, "../nsswitch/tests/test_wbinfo.sh"), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', "s3member"]) plantestsuite("samba4.blackbox.chgdcpass(dc)", "dc", [os.path.join(bbdir, "test_chgdcpass.sh"), '$SERVER', "LOCALDC\$", '$REALM', '$DOMAIN', '$PREFIX', "aes256-cts-hmac-sha1-96", '$SELFTEST_PREFIX/dc']) # Tests using the "Simple" NTVFS backend