[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