From b449d13be4e26b98aeefe4b3d9961f86103862c3 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 25 Jan 2014 09:45:25 +0100 Subject: selftest/Samba3: make --log-stdout optional It's still used by default, but the following environment variables are able to avoid it NMBD_DONT_LOG_STDOUT=1, WINBINDD_DONT_LOG_STDOUT=1 and SMBD_DONT_LOG_STDOUT=1. It's strange that nmbd and smbd take --log-stdout, while winbindd takes --stdout. Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Sat Feb 1 01:27:18 CET 2014 on sn-devel-104 --- selftest/target/Samba3.pm | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) (limited to 'selftest') diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index 573b8e16961..cd1585e9a2d 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -657,23 +657,27 @@ sub check_or_start($$$$$) { exit 0; } + $ENV{MAKE_TEST_BINARY} = Samba::bindir_path($self, "nmbd"); my @optargs = ("-d0"); if (defined($ENV{NMBD_OPTIONS})) { @optargs = split(/ /, $ENV{NMBD_OPTIONS}); } - - $ENV{MAKE_TEST_BINARY} = Samba::bindir_path($self, "nmbd"); - my @preargs = (Samba::bindir_path($self, "timelimit"), $self->{server_maxtime}); if(defined($ENV{NMBD_VALGRIND})) { @preargs = split(/ /, $ENV{NMBD_VALGRIND}); } + my @args = ("-F", "--no-process-group", + "-s", $env_vars->{SERVERCONFFILE}, + "-l", $env_vars->{LOGDIR}); + if (not defined($ENV{NMBD_DONT_LOG_STDOUT})) { + push(@args, "--log-stdout"); + } close($env_vars->{STDIN_PIPE}); open STDIN, ">&", \*STDIN_READER or die "can't dup STDIN_READER to STDIN: $!"; - exec(@preargs, Samba::bindir_path($self, "nmbd"), "-F", "--no-process-group", "--log-stdout", "-s", $env_vars->{SERVERCONFFILE}, - "-l", $env_vars->{LOGDIR}, @optargs) or die("Unable to start nmbd: $!"); + exec(@preargs, $ENV{MAKE_TEST_BINARY}, @args, @optargs) + or die("Unable to start $ENV{MAKE_TEST_BINARY}: $!"); } $env_vars->{NMBD_TL_PID} = $pid; write_pid($env_vars, "nmbd", $pid); @@ -710,25 +714,27 @@ sub check_or_start($$$$$) { exit 0; } + $ENV{MAKE_TEST_BINARY} = Samba::bindir_path($self, "winbindd"); my @optargs = ("-d0"); if (defined($ENV{WINBINDD_OPTIONS})) { @optargs = split(/ /, $ENV{WINBINDD_OPTIONS}); } - - $ENV{MAKE_TEST_BINARY} = Samba::bindir_path($self, "winbindd"); - my @preargs = (Samba::bindir_path($self, "timelimit"), $self->{server_maxtime}); if(defined($ENV{WINBINDD_VALGRIND})) { @preargs = split(/ /, $ENV{WINBINDD_VALGRIND}); } - - print "Starting winbindd with config $env_vars->{SERVERCONFFILE}\n"; + my @args = ("-F", "--no-process-group", + "-s", $env_vars->{SERVERCONFFILE}, + "-l", $env_vars->{LOGDIR}); + if (not defined($ENV{WINBINDD_DONT_LOG_STDOUT})) { + push(@args, "--stdout"); + } close($env_vars->{STDIN_PIPE}); open STDIN, ">&", \*STDIN_READER or die "can't dup STDIN_READER to STDIN: $!"; - exec(@preargs, Samba::bindir_path($self, "winbindd"), "-F", "--no-process-group", "--stdout", "-s", $env_vars->{SERVERCONFFILE}, - "-l", $env_vars->{LOGDIR}, @optargs) or die("Unable to start winbindd: $!"); + exec(@preargs, $ENV{MAKE_TEST_BINARY}, @args, @optargs) + or die("Unable to start $ENV{MAKE_TEST_BINARY}: $!"); } $env_vars->{WINBINDD_TL_PID} = $pid; write_pid($env_vars, "winbindd", $pid); @@ -774,12 +780,18 @@ sub check_or_start($$$$$) { if(defined($ENV{SMBD_VALGRIND})) { @preargs = split(/ /,$ENV{SMBD_VALGRIND}); } + my @args = ("-F", "--no-process-group", + "-s", $env_vars->{SERVERCONFFILE}, + "-l", $env_vars->{LOGDIR}); + if (not defined($ENV{SMBD_DONT_LOG_STDOUT})) { + push(@args, "--log-stdout"); + } close($env_vars->{STDIN_PIPE}); open STDIN, ">&", \*STDIN_READER or die "can't dup STDIN_READER to STDIN: $!"; - exec(@preargs, Samba::bindir_path($self, "smbd"), "-F", "--no-process-group", "--log-stdout", "-s", $env_vars->{SERVERCONFFILE}, - "-l", $env_vars->{LOGDIR}, @optargs) or die("Unable to start smbd: $!"); + exec(@preargs, $ENV{MAKE_TEST_BINARY}, @args, @optargs) + or die("Unable to start $ENV{MAKE_TEST_BINARY}: $!"); } $env_vars->{SMBD_TL_PID} = $pid; write_pid($env_vars, "smbd", $pid); -- cgit