[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-199-g88278cf

Stefan Metzmacher metze at samba.org
Thu Jan 29 10:32:05 GMT 2009


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 <metze at samba.org>
Date:   Thu Jan 29 10:30:45 2009 +0100

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

commit 439172dc067a8295a6f5d50f6a604e2307d9944a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 28 21:01:04 2009 +0100

    selftest: add "member" environment for Samba3
    
    metze

commit 77bb2d6d0b6ba994aa5f9295ed42b1dbf98898b6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 29 10:29:35 2009 +0100

    s3:seltest: make test_smbclient_s3.sh more strict
    
    metze

commit 67bf7a2396051d10c07aeaa2d8b373a96a44d892
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 28 22:15:44 2009 +0100

    selftest: fix Samba3 bugs
    
    metze

commit 9f8d80c69921ee5c3941fde08aba3a12d3194415
Author: Stefan Metzmacher <metze at samba.org>
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


More information about the samba-cvs mailing list