[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-733-gf0e75ff

Stefan Metzmacher metze at samba.org
Tue Feb 10 12:13:55 GMT 2009


The branch, master has been updated
       via  f0e75ff36390549d811557c3763d19a7f656b0d4 (commit)
       via  76a2d068f5fe6e29ac2506e0d38859a2db8892c4 (commit)
       via  bb88b038467284d2ef8bdd7236bc07492b6e22ce (commit)
       via  3c1feb82c87fe97b75ad671cd491d02432f1a839 (commit)
       via  b5e2e725117241fe9b5f346768b6a21adb5d6ec8 (commit)
       via  4248a8bf99671c33169262c88af92e9577fdfd50 (commit)
      from  cab2de7bb0bfede9fe88b212c0eba7ebf162c04a (commit)

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


- Log -----------------------------------------------------------------
commit f0e75ff36390549d811557c3763d19a7f656b0d4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 15:17:14 2009 +0100

    selftest: s/SMBD/SAMBA/ in Samba.pm
    
    metze

commit 76a2d068f5fe6e29ac2506e0d38859a2db8892c4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 15:16:42 2009 +0100

    selftest: allow "skip" as max runtime for smbd, nmbd and winbindd
    
    metze

commit bb88b038467284d2ef8bdd7236bc07492b6e22ce
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 11:26:46 2009 +0100

    selftest: Samba3 protect against removing /*
    
    metze

commit 3c1feb82c87fe97b75ad671cd491d02432f1a839
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 11:21:29 2009 +0100

    selftest: add target::Template
    
    metze

commit b5e2e725117241fe9b5f346768b6a21adb5d6ec8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 11:20:39 2009 +0100

    merged-build: pass PYTHON and PERL down to make test4
    
    metze

commit 4248a8bf99671c33169262c88af92e9577fdfd50
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 4 11:20:14 2009 +0100

    selftest: add my copyright
    
    metze

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

Summary of changes:
 selftest/selftest.pl        |    2 +
 selftest/target/Samba3.pm   |   35 ++++++++++++++++++++++++++++-
 selftest/target/Samba4.pm   |   36 +++++++++++++++---------------
 selftest/target/Template.pm |   52 +++++++++++++++++++++++++++++++++++++++++++
 source3/samba4.mk           |    3 +-
 5 files changed, 108 insertions(+), 20 deletions(-)
 create mode 100644 selftest/target/Template.pm


Changeset truncated at 500 lines:

diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 0be2e78..ef4c385 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 # Bootstrap Samba and run a number of tests against it.
 # Copyright (C) 2005-2008 Jelmer Vernooij <jelmer at samba.org>
+# Copyright (C) 2007-2009 Stefan Metzmacher <metze at samba.org>
 # Published under the GNU GPL, v3 or later.
 
 =pod
@@ -287,6 +288,7 @@ sub ShowHelp()
 {
 	print "Samba test runner
 Copyright (C) Jelmer Vernooij <jelmer\@samba.org>
+Copyright (C) Stefan Metzmacher <metze\@samba.org>
 
 Usage: $Script [OPTIONS] TESTNAME-REGEX
 
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 49984f1..e1bea16 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -187,7 +187,7 @@ sub stop_sig_term($$) {
 
 sub stop_sig_kill($$) {
 	my ($self, $pid) = @_;
-	kill("ALRM", $pid) or warn("Unable to kill $pid: $!");
+	kill("KILL", $pid) or warn("Unable to kill $pid: $!");
 }
 
 sub write_pid($$$)
@@ -226,6 +226,16 @@ sub check_or_start($$$$) {
 		$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
 		$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
 
+		if ($nmbd_maxtime eq "skip") {
+			$SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
+				my $signame = shift;
+				print("Skip nmbd received signal $signame");
+				exit 0;
+			};
+			sleep(999999);
+			exit 0;
+		}
+
 		my @optargs = ("-d0");
 		if (defined($ENV{NMBD_OPTIONS})) {
 			@optargs = split(/ /, $ENV{NMBD_OPTIONS});
@@ -257,6 +267,16 @@ sub check_or_start($$$$) {
 		$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
 		$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
 
+		if ($winbindd_maxtime eq "skip") {
+			$SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
+				my $signame = shift;
+				print("Skip winbindd received signal $signame");
+				exit 0;
+			};
+			sleep(999999);
+			exit 0;
+		}
+
 		my @optargs = ("-d0");
 		if (defined($ENV{WINBINDD_OPTIONS})) {
 			@optargs = split(/ /, $ENV{WINBINDD_OPTIONS});
@@ -288,6 +308,16 @@ sub check_or_start($$$$) {
 		$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
 		$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
 
+		if ($smbd_maxtime eq "skip") {
+			$SIG{USR1} = $SIG{ALRM} = $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
+				my $signame = shift;
+				print("Skip smbd received signal $signame");
+				exit 0;
+			};
+			sleep(999999);
+			exit 0;
+		}
+
 		$ENV{MAKE_TEST_BINARY} = $self->binpath("smbd");
 		my @optargs = ("-d0");
 		if (defined($ENV{SMBD_OPTIONS})) {
@@ -386,6 +416,9 @@ sub provision($$$$$$)
 	## 
 	## create the test directory layout
 	##
+	die ("prefix_abs = ''") if $prefix_abs eq "";
+	die ("prefix_abs = '/'") if $prefix_abs eq "/";
+
 	mkdir($prefix_abs, 0777);
 	print "CREATE TEST ENVIRONMENT IN '$prefix'...";
 	system("rm -rf $prefix_abs/*");
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 0f7d317..da1aabd 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -87,17 +87,17 @@ sub slapd_stop($$)
 sub check_or_start($$$) 
 {
 	my ($self, $env_vars, $max_time) = @_;
-	return 0 if ( -p $env_vars->{SMBD_TEST_FIFO});
+	return 0 if ( -p $env_vars->{SAMBA_TEST_FIFO});
 
-	unlink($env_vars->{SMBD_TEST_FIFO});
-	POSIX::mkfifo($env_vars->{SMBD_TEST_FIFO}, 0700);
-	unlink($env_vars->{SMBD_TEST_LOG});
+	unlink($env_vars->{SAMBA_TEST_FIFO});
+	POSIX::mkfifo($env_vars->{SAMBA_TEST_FIFO}, 0700);
+	unlink($env_vars->{SAMBA_TEST_LOG});
 	
-	print "STARTING SMBD... ";
+	print "STARTING SAMBA... ";
 	my $pid = fork();
 	if ($pid == 0) {
-		open STDIN, $env_vars->{SMBD_TEST_FIFO};
-		open STDOUT, ">$env_vars->{SMBD_TEST_LOG}";
+		open STDIN, $env_vars->{SAMBA_TEST_FIFO};
+		open STDOUT, ">$env_vars->{SAMBA_TEST_LOG}";
 		open STDERR, '>&STDOUT';
 		
 		SocketWrapper::set_default_iface($env_vars->{SOCKET_WRAPPER_DEFAULT_IFACE});
@@ -112,7 +112,7 @@ sub check_or_start($$$)
 		$ENV{NSS_WRAPPER_PASSWD} = $env_vars->{NSS_WRAPPER_PASSWD};
 		$ENV{NSS_WRAPPER_GROUP} = $env_vars->{NSS_WRAPPER_GROUP};
 
-		# Start slapd before smbd, but with the fifo on stdin
+		# Start slapd before samba, but with the fifo on stdin
 		if (defined($self->{ldap})) {
 		    $self->slapd_start($env_vars) or 
 			die("couldn't start slapd (2nd time)");
@@ -131,7 +131,7 @@ sub check_or_start($$$)
 			print "Unable to start $samba: $ret: $!\n";
 			exit 1;
 		}
-		unlink($env_vars->{SMBD_TEST_FIFO});
+		unlink($env_vars->{SAMBA_TEST_FIFO});
 		my $exit = $? >> 8;
 		if ( $ret == 0 ) {
 			print "$samba exits with status $exit\n";
@@ -145,7 +145,7 @@ sub check_or_start($$$)
 	}
 	print "DONE\n";
 
-	open(DATA, ">$env_vars->{SMBD_TEST_FIFO}");
+	open(DATA, ">$env_vars->{SAMBA_TEST_FIFO}");
 
 	return $pid;
 }
@@ -760,9 +760,9 @@ nogroup:x:65534:nobody
 		SOCKET_WRAPPER_DEFAULT_IFACE => $swiface,
 		NSS_WRAPPER_PASSWD => $nsswrap_passwd,
 		NSS_WRAPPER_GROUP => $nsswrap_group,
-		SMBD_TEST_FIFO => "$prefix/smbd_test.fifo",
-		SMBD_TEST_LOG => "$prefix/smbd_test.log",
-		SMBD_TEST_LOG_POS => 0,
+		SAMBA_TEST_FIFO => "$prefix/samba_test.fifo",
+		SAMBA_TEST_LOG => "$prefix/samba_test.log",
+		SAMBA_TEST_LOG_POS => 0,
 	};
 
 	if (defined($self->{ldap})) {
@@ -889,16 +889,16 @@ sub teardown_env($$)
 sub getlog_env($$)
 {
 	my ($self, $envvars) = @_;
-	my $title = "SMBD LOG of: $envvars->{NETBIOSNAME}\n";
+	my $title = "SAMBA LOG of: $envvars->{NETBIOSNAME}\n";
 	my $out = $title;
 
-	open(LOG, "<$envvars->{SMBD_TEST_LOG}");
+	open(LOG, "<$envvars->{SAMBA_TEST_LOG}");
 
-	seek(LOG, $envvars->{SMBD_TEST_LOG_POS}, SEEK_SET);
+	seek(LOG, $envvars->{SAMBA_TEST_LOG_POS}, SEEK_SET);
 	while (<LOG>) {
 		$out .= $_;
 	}
-	$envvars->{SMBD_TEST_LOG_POS} = tell(LOG);
+	$envvars->{SAMBA_TEST_LOG_POS} = tell(LOG);
 	close(LOG);
 
 	return "" if $out eq $title;
@@ -910,7 +910,7 @@ sub check_env($$)
 {
 	my ($self, $envvars) = @_;
 
-	return 1 if (-p $envvars->{SMBD_TEST_FIFO});
+	return 1 if (-p $envvars->{SAMBA_TEST_FIFO});
 
 	print $self->getlog_env($envvars);
 
diff --git a/selftest/target/Template.pm b/selftest/target/Template.pm
new file mode 100644
index 0000000..25d9259
--- /dev/null
+++ b/selftest/target/Template.pm
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+# Copyright (C) 2009 Stefan Metzmacher <metze at samba.org>
+# Published under the GNU GPL, v3 or later.
+
+package Template;
+
+use strict;
+
+sub new($$) {
+	my ($classname) = @_;
+	my $self = {
+		classname => $classname
+	};
+	bless $self;
+	return $self;
+}
+
+sub teardown_env($$)
+{
+	my ($self, $envvars) = @_;
+
+	return 0;
+}
+
+sub getlog_env($$)
+{
+	my ($self, $envvars) = @_;
+
+	return "";
+}
+
+sub check_env($$)
+{
+	my ($self, $envvars) = @_;
+
+	return 1;
+}
+
+sub setup_env($$$)
+{
+	my ($self, $envname, $path) = @_;
+	my $envvars = undef;
+
+	return $envvars;
+}
+
+sub stop($)
+{
+	my ($self) = @_;
+}
+
+1;
diff --git a/source3/samba4.mk b/source3/samba4.mk
index b7df7a5..10e3f76 100644
--- a/source3/samba4.mk
+++ b/source3/samba4.mk
@@ -173,7 +173,8 @@ setup:
 
 S4_LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)="$(builddir)/bin/shared"
 
-SELFTEST4 = $(S4_LD_LIBPATH_OVERRIDE) EXEEXT="4" $(PERL) $(selftestdir)/selftest.pl --prefix=st4 \
+SELFTEST4 = $(S4_LD_LIBPATH_OVERRIDE) EXEEXT="4" PYTHON="$(PYTHON)" PERL="$(PERL)" \
+    $(PERL) $(selftestdir)/selftest.pl --prefix=st4 \
     --builddir=$(builddir) --srcdir=$(samba4srcdir) \
     --exeext=4 \
     --expected-failures=$(samba4srcdir)/selftest/knownfail \


-- 
Samba Shared Repository


More information about the samba-cvs mailing list