selftest:Samba3: add "wbinfo -p" test to wait_for_start()
authorMichael Adam <obnox@samba.org>
Thu, 22 Nov 2012 23:18:44 +0000 (00:18 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 3 Dec 2012 07:48:24 +0000 (08:48 +0100)
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
selftest/target/Samba3.pm

index bd277d22adfa73a1b1b6e57a135620e123112a12..99f126c96df527b705417c94824f7180bd1217d9 100755 (executable)
@@ -1097,6 +1097,7 @@ domadmins:X:$gid_domadmins:
 sub wait_for_start($$$$$)
 {
        my ($self, $envvars, $nmbd, $winbindd, $smbd) = @_;
+       my $ret;
 
        if ($nmbd eq "yes") {
            # give time for nbt server to register its names
@@ -1111,12 +1112,28 @@ sub wait_for_start($$$$$)
            system("$nmblookup $envvars->{CONFIGURATION} $envvars->{SERVER}");
        }
 
+       if ($winbindd eq "yes") {
+           print "checking for winbindd\n";
+           my $count = 0;
+           do {
+               $ret = system("WINBINDD_SOCKET_DIR=" . $envvars->{WINBINDD_SOCKET_DIR} . " " . Samba::bindir_path($self, "wbinfo") . " -p");
+               if ($ret != 0) {
+                   sleep(2);
+               }
+               $count++;
+           } while ($ret != 0 && $count < 10);
+           if ($count == 10) {
+               print "WINBINDD not reachable after 20 seconds\n";
+               teardown_env($self, $envvars);
+               return 0;
+           }
+       }
+
        if ($smbd eq "yes") {
            # make sure smbd is also up set
            print "wait for smbd\n";
 
            my $count = 0;
-           my $ret;
            do {
                $ret = system(Samba::bindir_path($self, "smbclient3") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER} -U% -p 139");
                if ($ret != 0) {