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 <me...@samba.org> Date: Wed Feb 4 15:17:14 2009 +0100 selftest: s/SMBD/SAMBA/ in Samba.pm metze commit 76a2d068f5fe6e29ac2506e0d38859a2db8892c4 Author: Stefan Metzmacher <me...@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 <me...@samba.org> Date: Wed Feb 4 11:26:46 2009 +0100 selftest: Samba3 protect against removing /* metze commit 3c1feb82c87fe97b75ad671cd491d02432f1a839 Author: Stefan Metzmacher <me...@samba.org> Date: Wed Feb 4 11:21:29 2009 +0100 selftest: add target::Template metze commit b5e2e725117241fe9b5f346768b6a21adb5d6ec8 Author: Stefan Metzmacher <me...@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 <me...@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 <jel...@samba.org> +# Copyright (C) 2007-2009 Stefan Metzmacher <me...@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 <jelm...@samba.org> +Copyright (C) Stefan Metzmacher <met...@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 <me...@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