selftest: Do not run chgdcpass test on the main DC
authorAndrew Bartlett <abartlet@samba.org>
Wed, 29 Feb 2012 01:48:21 +0000 (12:48 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 29 Feb 2012 09:41:07 +0000 (10:41 +0100)
If winbindd has it's password changed from under it, it becomes
grumpy.

Andrew Bartlett

selftest/target/Samba4.pm
source4/selftest/tests.py

index 73b73cab082389a129488a8a9b57cc6e3f2ffa72..43d7c8f338b94c743131427d2ab2344aa4b3e88e 100644 (file)
@@ -1317,6 +1317,35 @@ dcerpc endpoint servers = -unixinfo -rpcecho -spoolss -winreg -wkssvc -srvsvc
        return $ret;
 }
 
+sub provision_chgdcpass($$)
+{
+       my ($self, $prefix) = @_;
+
+       print "PROVISIONING CHGDCPASS...";
+       my $ret = $self->provision($prefix,
+                                  "domain controller",
+                                  "chgdcpass",
+                                  "CHDCDOMAIN",
+                                  "chgdcpassword.samba.example.com",
+                                  "2008",
+                                  31,
+                                  "chgDCpass1",
+                                  undef);
+
+       return undef unless(defined $ret);
+       unless($self->add_wins_config("$prefix/private")) {
+               warn("Unable to add wins configuration");
+               return undef;
+       }
+       $ret->{DC_SERVER} = $ret->{SERVER};
+       $ret->{DC_SERVER_IP} = $ret->{SERVER_IP};
+       $ret->{DC_NETBIOSNAME} = $ret->{NETBIOSNAME};
+       $ret->{DC_USERNAME} = $ret->{USERNAME};
+       $ret->{DC_PASSWORD} = $ret->{PASSWORD};
+
+       return $ret;
+}
+
 sub teardown_env($$)
 {
        my ($self, $envvars) = @_;
@@ -1425,6 +1454,8 @@ sub setup_env($$$)
                        $self->setup_dc("$path/dc");
                }
                return $self->setup_rodc("$path/rodc", $self->{vars}->{dc});
+       } elsif ($envname eq "chgdcpass") {
+               return $self->setup_chgdcpass("$path/chgdcpass", $self->{vars}->{chgdcpass});
        } elsif ($envname eq "s3member") {
                if (not defined($self->{vars}->{dc})) {
                        $self->setup_dc("$path/dc");
@@ -1485,6 +1516,21 @@ sub setup_dc($$)
        return $env;
 }
 
+sub setup_chgdcpass($$)
+{
+       my ($self, $path) = @_;
+
+       my $env = $self->provision_chgdcpass($path);
+       if (defined $env) {
+               $self->check_or_start($env, "single");
+
+               $self->wait_for_start($env);
+
+               $self->{vars}->{chgdcpass} = $env;
+       }
+       return $env;
+}
+
 sub setup_fl2000dc($$)
 {
        my ($self, $path) = @_;
index d00c6d2dd5f4bf61d61472e60578699633d7782b..91d379b50caa3b149b3a33653dc5396fa7337c7f 100755 (executable)
@@ -315,7 +315,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(s4member:local)", "s4member:local", [os.path.join(samba4srcdir, "../nsswitch/tests/test_wbinfo.sh"), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', "s4member"])
-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'])
+plantestsuite("samba4.blackbox.chgdcpass", "chgdcpass", [os.path.join(bbdir, "test_chgdcpass.sh"), '$SERVER', "CHGDCPASS\$", '$REALM', '$DOMAIN', '$PREFIX', "aes256-cts-hmac-sha1-96", '$SELFTEST_PREFIX/chgdcpass'])
 plantestsuite_loadlist("samba4.rpc.echo against NetBIOS alias", "dc", [valgrindify(smb4torture), "$LISTOPT", 'ncacn_np:$NETBIOSALIAS', '-U$DOMAIN/$USERNAME%$PASSWORD', 'rpc.echo'])
 
 # Tests using the "Simple" NTVFS backend