The branch, master has been updated
       via  88278cf23f1886e949c9500276be5dae9dfd76da (commit)
       via  439172dc067a8295a6f5d50f6a604e2307d9944a (commit)
       via  77bb2d6d0b6ba994aa5f9295ed42b1dbf98898b6 (commit)
       via  67bf7a2396051d10c07aeaa2d8b373a96a44d892 (commit)
       via  9f8d80c69921ee5c3941fde08aba3a12d3194415 (commit)
      from  6a41a2de8d2f44fc3a654416edb04538e125350c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 88278cf23f1886e949c9500276be5dae9dfd76da
Author: Stefan Metzmacher <[email protected]>
Date:   Thu Jan 29 10:30:45 2009 +0100

    s3:selftest: import more tests from 'make test'
    
    metze

commit 439172dc067a8295a6f5d50f6a604e2307d9944a
Author: Stefan Metzmacher <[email protected]>
Date:   Wed Jan 28 21:01:04 2009 +0100

    selftest: add "member" environment for Samba3
    
    metze

commit 77bb2d6d0b6ba994aa5f9295ed42b1dbf98898b6
Author: Stefan Metzmacher <[email protected]>
Date:   Thu Jan 29 10:29:35 2009 +0100

    s3:seltest: make test_smbclient_s3.sh more strict
    
    metze

commit 67bf7a2396051d10c07aeaa2d8b373a96a44d892
Author: Stefan Metzmacher <[email protected]>
Date:   Wed Jan 28 22:15:44 2009 +0100

    selftest: fix Samba3 bugs
    
    metze

commit 9f8d80c69921ee5c3941fde08aba3a12d3194415
Author: Stefan Metzmacher <[email protected]>
Date:   Wed Jan 28 22:13:11 2009 +0100

    selftest: Samba4 remove unused variable
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 selftest/selftest.pl                       |    3 +-
 selftest/target/Samba3.pm                  |   82 ++++++++++++++++++++++------
 selftest/target/Samba4.pm                  |    1 -
 source3/Makefile.in                        |    3 +-
 source3/script/tests/test_smbclient_s3.sh  |   43 +++++++++++----
 source3/script/tests/tests_all.sh          |    4 +-
 source3/script/tests/tests_smbclient_s3.sh |    2 +-
 source3/selftest/tests.sh                  |   33 +++++++++---
 8 files changed, 129 insertions(+), 42 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index d47261d..97cf697 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -457,7 +457,7 @@ if ($opt_target eq "samba4") {
        if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq 
"") {
                die("You must include --enable-socket-wrapper when compiling 
Samba in order to execute 'make test'.  Exiting....");
        }
-       $testenv_default = "dc";
+       $testenv_default = "member";
        require target::Samba3;
        $target = new Samba3($bindir);
 } elsif ($opt_target eq "win") {
@@ -580,6 +580,7 @@ sub write_clientconf($$)
        }
        if (defined($vars->{WINBINDD_SOCKET_DIR})) {
                print CF "\twinbindd socket directory = 
$vars->{WINBINDD_SOCKET_DIR}\n";
+               print CF "\twinbindd:socket dir = 
$vars->{WINBINDD_SOCKET_DIR}\n";
        }
        if ($opt_socket_wrapper) {
                print CF "\tinterfaces = $interfaces\n";
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 0a9dd79..bb074b7 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -95,6 +95,11 @@ sub setup_env($$$)
        
        if ($envname eq "dc") {
                return $self->setup_dc("$path/dc");
+       } elsif ($envname eq "member") {
+               if (not defined($self->{vars}->{dc})) {
+                       $self->setup_dc("$path/dc");
+               }
+               return $self->setup_member("$path/member", $self->{vars}->{dc});
        } else {
                return undef;
        }
@@ -124,9 +129,52 @@ sub setup_dc($$)
 
        $self->wait_for_start($vars);
 
+       $self->{vars}->{dc} = $vars;
+
        return $vars;
 }
 
+sub setup_member($$$)
+{
+       my ($self, $prefix, $dcvars) = @_;
+
+       print "PROVISIONING MEMBER...";
+
+       my $member_options = "
+       security = domain
+";
+       my $ret = $self->provision($prefix,
+                                  "LOCALMEMBER3",
+                                  3,
+                                  "localmember3pass",
+                                  $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 .= "$net join $ret->{CONFIGURATION} $dcvars->{DOMAIN} member";
+       $cmd .= " -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD}";
+
+       system($cmd) == 0 or die("Join failed\n$cmd");
+
+       $self->check_or_start($ret,
+                             ($ENV{NMBD_MAXTIME} or 2700),
+                             ($ENV{WINBINDD_MAXTIME} or 2700),
+                             ($ENV{SMBD_MAXTIME} or 2700));
+
+       $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 stop($)
 {
        my ($self) = @_;
@@ -265,7 +313,6 @@ sub create_clientconf($$$)
        my $logdir = "$prefix/logs";
        my $piddir = "$prefix/pid";
        my $privatedir = "$prefix/private";
-       my $scriptdir = "$RealBin/..";
        my $conffile = "$prefix/smb.conf";
 
        my 
$torture_interfaces='127.0.0.6/8,127.0.0.7/8,127.0.0.8/8,127.0.0.9/8,127.0.0.10/8,127.0.0.11/8';
@@ -284,7 +331,7 @@ sub create_clientconf($$$)
 
        netbios name = TORTURE_6
        interfaces = $torture_interfaces
-       panic action = $scriptdir/gdb_backtrace \%d %\$(MAKE_TEST_BINARY)
+       panic action = $RealBin/gdb_backtrace \%d %\$(MAKE_TEST_BINARY)
 
        passdb backend = tdbsam
        ";
@@ -308,10 +355,7 @@ sub provision($$$$$$)
        my $unix_uid = $>;
        my $unix_gids_str = $);
        my @unix_gids = split(" ", $unix_gids_str);
-       my $password = "test";
 
-       my $srcdir="$RealBin/..";
-       my $scriptdir="$srcdir/selftest";
        my $prefix_abs = abs_path($prefix);
        my $bindir_abs = abs_path($self->{bindir});
 
@@ -349,7 +393,7 @@ sub provision($$$$$$)
 
        my $conffile="$libdir/server.conf";
 
-       my $nss_wrapper_pl = "$ENV{PERL} 
$srcdir/../lib/nss_wrapper/nss_wrapper.pl";
+       my $nss_wrapper_pl = "$ENV{PERL} 
$RealBin/../lib/nss_wrapper/nss_wrapper.pl";
        my $nss_wrapper_passwd = "$privatedir/passwd";
        my $nss_wrapper_group = "$privatedir/group";
 
@@ -359,7 +403,7 @@ sub provision($$$$$$)
        netbios name = $server
        interfaces = $server_ip/8
        bind interfaces only = yes
-       panic action = $scriptdir/gdb_backtrace %d %\$(MAKE_TEST_BINARY)
+       panic action = $RealBin/gdb_backtrace %d %\$(MAKE_TEST_BINARY)
 
        workgroup = $domain
 
@@ -408,8 +452,13 @@ sub provision($$$$$$)
        # End extra options
 
        #Include user defined custom parameters if set
-       $ENV{INCLUDE_CUSTOM_CONF}
+";
 
+       if (defined($ENV{INCLUDE_CUSTOM_CONF})) {
+               print CONF "\t$ENV{INCLUDE_CUSTOM_CONF}\n";
+       }
+
+       print CONF "
 [tmp]
        path = $shrdir
 [hideunread]
@@ -436,15 +485,13 @@ sub provision($$$$$$)
        ##
 
        open(PASSWD, ">$nss_wrapper_passwd") or die("Unable to open 
$nss_wrapper_passwd");
-       print PASSWD "
-nobody:x:65534:65533:nobody gecos:$prefix_abs:/bin/false
+       print PASSWD "nobody:x:65534:65533:nobody gecos:$prefix_abs:/bin/false
 $unix_name:x:$unix_uid:$unix_gids[0]:$unix_name gecos:$prefix_abs:/bin/false
 ";
        close(PASSWD);
 
        open(GROUP, ">$nss_wrapper_group") or die("Unable to open 
$nss_wrapper_group");
-       print GROUP "
-nobody:x:65533:
+       print GROUP "nobody:x:65533:
 nogroup:x:65534:nobody
 $unix_name-group:x:$unix_gids[0]:
 ";
@@ -457,15 +504,18 @@ $unix_name-group:x:$unix_gids[0]:
        print PWD "$password\n$password\n";
        close(PWD) or die("Unable to set password for test account");
 
-       $ENV{NSS_WRAPPER_PASSWD} = undef;
-       $ENV{NSS_WRAPPER_GROUP} = undef;
+       delete $ENV{NSS_WRAPPER_PASSWD};
+       delete $ENV{NSS_WRAPPER_GROUP};
 
        print "DONE\n";
 
        $ret{SERVER_IP} = $server_ip;
        $ret{NMBD_TEST_LOG} = "$prefix/nmbd_test.log";
+       $ret{NMBD_TEST_LOG_POS} = 0;
        $ret{WINBINDD_TEST_LOG} = "$prefix/winbindd_test.log";
+       $ret{WINBINDD_TEST_LOG_POS} = 0;
        $ret{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+       $ret{SMBD_TEST_LOG_POS} = 0;
        $ret{SERVERCONFFILE} = $conffile;
        $ret{CONFIGURATION} ="-s $conffile";
        $ret{SERVER} = $server;
@@ -476,7 +526,7 @@ $unix_name-group:x:$unix_gids[0]:
        $ret{PIDDIR} = $piddir;
        $ret{WINBINDD_SOCKET_DIR} = $wbsockdir;
        $ret{WINBINDD_PRIV_PIPE_DIR} = $wbsockprivdir;
-       $ret{SOCKET_WRAPPER_DEFAULT_IFACE} => $swiface,
+       $ret{SOCKET_WRAPPER_DEFAULT_IFACE} = $swiface;
        $ret{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
        $ret{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
 
@@ -504,7 +554,7 @@ sub wait_for_start($$)
        print "creating BUILTIN\\Administrators\n";
        $ENV{WINBINDD_SOCKET_DIR} = $envvars->{WINBINDD_SOCKET_DIR};
        system($self->binpath("net") ." $envvars->{CONFIGURATION} sam 
createbuiltingroup Administrators");
-       $ENV{WINBINDD_SOCKET_DIR} = undef;
+       delete $ENV{WINBINDD_SOCKET_DIR};
 
        print $self->getlog_env($envvars);
 }
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 83f62d4..97f9878 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -520,7 +520,6 @@ sub provision($$$$$$)
        my $unix_uid = $>;
        my $unix_gids_str = $);
        my @unix_gids = split(" ", $unix_gids_str);
-       my $srcdir="$RealBin/..";
        -d $prefix or mkdir($prefix, 0777) or die("Unable to create $prefix");
        my $prefix_abs = abs_path($prefix);
        my $tmpdir = "$prefix_abs/tmp";
diff --git a/source3/Makefile.in b/source3/Makefile.in
index e786a81..b3978ea 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -2954,7 +2954,8 @@ selftestdir = ../selftest
 S3_LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)="$(builddir)/bin"
 
 selftest:: all torture timelimit
-       @$(S3_LD_LIBPATH_OVERRIDE) $(selftestdir)/selftest.pl \
+       @$(S3_LD_LIBPATH_OVERRIDE) PERL="$(PERL)" \
+               $(PERL) $(selftestdir)/selftest.pl \
                --prefix=${selftest_prefix} --target=samba3 \
                --testlist="$(srcdir)/selftest/tests.sh|" \
                --expected-failures=$(srcdir)/selftest/knownfail \
diff --git a/source3/script/tests/test_smbclient_s3.sh 
b/source3/script/tests/test_smbclient_s3.sh
index c10aed0..1d55087 100755
--- a/source3/script/tests/test_smbclient_s3.sh
+++ b/source3/script/tests/test_smbclient_s3.sh
@@ -2,17 +2,19 @@
 
 # this runs the file serving tests that are expected to pass with samba3
 
-if [ $# -lt 2 ]; then
+if [ $# -lt 4 ]; then
 cat <<EOF
-Usage: test_smbclient_s3.sh SERVER SERVER_IP
+Usage: test_smbclient_s3.sh SERVER SERVER_IP USERNAME PASSWORD
 EOF
 exit 1;
 fi
 
 SERVER="$1"
 SERVER_IP="$2"
+USERNAME="$3"
+PASSWORD="$4"
 SMBCLIENT="$VALGRIND ${SMBCLIENT:-$BINDIR/smbclient} $CONFIGURATION"
-shift 2
+shift 4
 ADDARGS="$*"
 
 incdir=`dirname $0`
@@ -25,9 +27,18 @@ test_noninteractive_no_prompt()
 {
     prompt="smb"
 
-    echo du | \
-       $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I 
SERVER_IP $ADDARGS 2>&1 | \
-    grep $prompt
+    cmd='echo du | $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD 
//$SERVER/tmp -I $SERVER_IP $ADDARGS 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+
+    if [ $? != 0 ] ; then
+       echo "$out"
+       echo "command failed"
+       false
+       return
+    fi
+
+    echo "$out" | grep $prompt >/dev/null 2>&1
 
     if [ $? = 0 ] ; then
        # got a prompt .. fail
@@ -49,18 +60,26 @@ du
 quit
 EOF
 
-    CLI_FORCE_INTERACTIVE=yes \
-    $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I 
$SERVER_IP \
-       $ADDARGS < $tmpfile 2>/dev/null | \
-    grep $prompt
+    cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT $CONFIGURATION "$@" 
-U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+    ret=$?
+    rm -f $tmpfile
+
+    if [ $ret != 0 ] ; then
+       echo "$out"
+       echo "command failed"
+       false
+       return
+    fi
+
+    echo "$out" | grep $prompt >/dev/null 2>&1
 
     if [ $? = 0 ] ; then
        # got a prompt .. succeed
-       rm -f $tmpfile
        true
     else
        echo failed to match interactive prompt on stdout
-       rm -f $tmpfile
        false
     fi
 }
diff --git a/source3/script/tests/tests_all.sh 
b/source3/script/tests/tests_all.sh
index 2b46da0..11d315b 100755
--- a/source3/script/tests/tests_all.sh
+++ b/source3/script/tests/tests_all.sh
@@ -20,13 +20,13 @@ smbtorture_s3_encrypted() {
 
 smbclient_s3() {
        echo "RUNNING TESTS smbclient_s3"
-       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP \
+       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD \
        || failed=`expr $failed + $?`
 }
 
 smbclient_s3_encrypted() {
        echo "RUNNING TESTS smbclient_s3_encrypted"
-       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP "-e" \
+       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD 
"-e" \
        || failed=`expr $failed + $?`
 }
 
diff --git a/source3/script/tests/tests_smbclient_s3.sh 
b/source3/script/tests/tests_smbclient_s3.sh
index d48a692..40edf22 100644
--- a/source3/script/tests/tests_smbclient_s3.sh
+++ b/source3/script/tests/tests_smbclient_s3.sh
@@ -1 +1 @@
-. $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP
+. $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD
diff --git a/source3/selftest/tests.sh b/source3/selftest/tests.sh
index 98568b6..7f2c8f2 100755
--- a/source3/selftest/tests.sh
+++ b/source3/selftest/tests.sh
@@ -48,10 +48,10 @@ BINDIR=`dirname $0`/../bin
 SCRIPTDIR=`dirname $0`/../script/tests
 export SCRIPTDIR
 
-plantest "talloctort" none $VALGRIND $BINDIR/talloctort 
-plantest "replacetort" none $VALGRIND $BINDIR/replacetort
-plantest "tdbtorture" none $VALGRIND $BINDIR/tdbtorture
-plantest "smbconftort" none $VALGRIND $BINDIR/smbconftort $CONFIGURATION
+plantest "talloctort3" none $VALGRIND $BINDIR/talloctort
+plantest "replacetort3" none $VALGRIND $BINDIR/replacetort
+plantest "tdbtorture3" none $VALGRIND $BINDIR/tdbtorture
+plantest "smbconftort3" none $VALGRIND $BINDIR/smbconftort $CONFIGURATION
 
 tests="FDPASS LOCK1 LOCK2 LOCK3 LOCK4 LOCK5 LOCK6 LOCK7"
 tests="$tests UNLINK BROWSE ATTR TRANS2 TORTURE "
@@ -61,10 +61,27 @@ tests="$tests OPEN XCOPY RENAME DELETE PROPERTIES W2K"
 tests="$tests TCON2 IOCTL CHKPATH FDSESS LOCAL-SUBSTITUTE"
 
 for t in $tests; do
-       name=`normalize_testname $t`
+    name=`normalize_testname smbtorture3.plain.$t`
     plantest "$name" dc $VALGRIND $BINDIR/smbtorture //\$SERVER/tmp 
-U\$USERNAME%\$PASSWORD $t
 done
 
-plantest "blackbox.smbclient" dc BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP
-plantest "blackbox.wbinfo" dc BINDIR="$BINDIR" script/tests/test_wbinfo_s3.sh 
\$DOMAIN \$SERVER \$USERNAME \$PASSWORD
-plantest "blackbox.net" dc BINDIR="$BINDIR" SCRIPTDIR="$SCRIPTDIR" 
script/tests/test_net_s3.sh
+for t in $tests; do
+    name=`normalize_testname smbtorture3.crypt.$t`
+    plantest "$name" dc $VALGRIND $BINDIR/smbtorture //\$SERVER/tmp 
-U\$USERNAME%\$PASSWORD $t
+done
+
+# plain
+plantest "blackbox.smbclient3.plain" dc BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$USERNAME \$PASSWORD
+plantest "blackbox.smbclient3.plain member creds" member BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$SERVER\\\\\$USERNAME 
\$PASSWORD
+plantest "blackbox.smbclient3.plain domain creds" member BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP 
\$DOMAIN\\\\\$DC_USERNAME \$DC_PASSWORD
+
+# encrypted
+plantest "blackbox.smbclient3.crypt" dc BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$USERNAME \$PASSWORD 
"-e"
+
+# these don't work yet
+#plantest "blackbox.smbclient3.crypt member creds" member BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$SERVER\\\\\$USERNAME 
\$PASSWORD "-e"
+#plantest "blackbox.smbclient3.crypt domain creds" member BINDIR="$BINDIR" 
script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP 
\$DOMAIN\\\\\$DC_USERNAME \$DC_PASSWORD "-e"
+
+plantest "blackbox.wbinfo3" dc BINDIR="$BINDIR" script/tests/test_wbinfo_s3.sh 
\$DOMAIN \$SERVER \$USERNAME \$PASSWORD
+plantest "blackbox.net3" dc BINDIR="$BINDIR" SCRIPTDIR="$SCRIPTDIR" 
script/tests/test_net_s3.sh
+


-- 
Samba Shared Repository

Reply via email to