summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source4/script/tests/Samba3.pm10
-rw-r--r--source4/script/tests/Samba4.pm26
-rwxr-xr-xsource4/script/tests/selftest.pl22
3 files changed, 53 insertions, 5 deletions
diff --git a/source4/script/tests/Samba3.pm b/source4/script/tests/Samba3.pm
index e133a6394e5..fa51dba3a2d 100644
--- a/source4/script/tests/Samba3.pm
+++ b/source4/script/tests/Samba3.pm
@@ -39,6 +39,14 @@ sub teardown_env($$)
return 0;
}
+sub getlog_env($$)
+{
+ my ($self, $envvars) = @_;
+
+ # TODO...
+ return "";
+}
+
sub setup_env($$$)
{
my ($self, $envname, $path) = @_;
@@ -292,6 +300,8 @@ sub wait_for_start($$)
print "wait for smbd\n";
system($self->binpath("smbclient") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER_IP} -U% -p 139 | head -2");
system($self->binpath("smbclient") ." $envvars->{CONFIGURATION} -L $envvars->{SERVER_IP} -U% -p 139 | head -2");
+
+ print $self->getlog_env($envvars);
}
1;
diff --git a/source4/script/tests/Samba4.pm b/source4/script/tests/Samba4.pm
index fe8ed35ca3e..d0f66f1a8d7 100644
--- a/source4/script/tests/Samba4.pm
+++ b/source4/script/tests/Samba4.pm
@@ -141,6 +141,8 @@ sub wait_for_start($$)
system("bin/nmblookup $testenv_vars->{CONFIGURATION} -U $testenv_vars->{SERVER} $testenv_vars->{NETBIOSNAME}");
system("bin/nmblookup $testenv_vars->{CONFIGURATION} $testenv_vars->{NETBIOSNAME}");
system("bin/nmblookup $testenv_vars->{CONFIGURATION} -U $testenv_vars->{SERVER} $testenv_vars->{NETBIOSNAME}");
+
+ print $self->getlog_env($testenv_vars);
}
sub write_ldb_file($$$)
@@ -596,6 +598,7 @@ sub provision_member($$$)
$ret->{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
$ret->{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+ $ret->{SMBD_TEST_LOG_POS} = 0;
return $ret;
}
@@ -612,6 +615,7 @@ sub provision_dc($$)
$ret->{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
$ret->{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+ $ret->{SMBD_TEST_LOG_POS} = 0;
return $ret;
}
@@ -651,10 +655,30 @@ sub teardown_env($$)
return $failed;
}
+sub getlog_env($$)
+{
+ my ($self, $envvars) = @_;
+ my $title = "SMBD LOG of: $envvars->{NETBIOSNAME}\n";
+ my $out = $title;
+
+ open(LOG, "<$envvars->{SMBD_TEST_LOG}");
+
+ seek(LOG, $envvars->{SMBD_TEST_LOG_POS}, SEEK_SET);
+ while (<LOG>) {
+ $out .= $_;
+ }
+ $envvars->{SMBD_TEST_LOG_POS} = tell(LOG);
+ close(LOG);
+
+ return "" if $out eq $title;
+
+ return $out;
+}
+
sub setup_env($$$)
{
my ($self, $envname, $path) = @_;
-
+
if ($envname eq "dc") {
return $self->setup_dc("$path/dc");
} elsif ($envname eq "member") {
diff --git a/source4/script/tests/selftest.pl b/source4/script/tests/selftest.pl
index d513147f0ef..da4f0977016 100755
--- a/source4/script/tests/selftest.pl
+++ b/source4/script/tests/selftest.pl
@@ -174,6 +174,8 @@ sub skip($)
return 0;
}
+sub getlog_env($);
+
my $test_output = {};
sub buildfarm_start_msg($)
@@ -212,6 +214,8 @@ sub buildfarm_end_msg($$$)
$out .= $test_output->{$state->{NAME}};
}
+ $out .= getlog_env($state->{ENVNAME});
+
$out .= "==========================================\n";
if ($ret == $expected_ret) {
$out .= "TEST PASSED: $state->{NAME}\n";
@@ -269,6 +273,8 @@ sub plain_end_msg($$$)
if ($ret != $expected_ret and ($opt_immediate or $opt_one) and not $opt_verbose) {
print $test_output->{$state->{NAME}}."\n";
}
+
+ print getlog_env($state->{ENVNAME});
}
my $plain_msg_ops = {
@@ -277,10 +283,11 @@ my $plain_msg_ops = {
end_msg => \&plain_end_msg
};
-sub run_test($$$$$)
+sub run_test($$$$$$)
{
- my ($name, $cmd, $i, $totalsuites, $msg_ops) = @_;
+ my ($envname, $name, $cmd, $i, $totalsuites, $msg_ops) = @_;
my $msg_state = {
+ ENVNAME => $envname,
NAME => $name,
CMD => $cmd,
INDEX => $i,
@@ -644,6 +651,13 @@ sub setup_env($)
return $testenv_vars;
}
+sub getlog_env($)
+{
+ my ($envname) = @_;
+ return "" if ($envname eq "none");
+ return $target->getlog_env($running_envs{$envname});
+}
+
sub teardown_env($)
{
my ($envname) = @_;
@@ -690,9 +704,9 @@ NETBIOSNAME=\$NETBIOSNAME\" && bash'");
SocketWrapper::setup_pcap($pcap_file) if ($opt_socket_wrapper_pcap);
my $result;
if ($from_build_farm) {
- $result = run_test($name, $cmd, $i, $suitestotal, $buildfarm_msg_ops);
+ $result = run_test($envname, $name, $cmd, $i, $suitestotal, $buildfarm_msg_ops);
} else {
- $result = run_test($name, $cmd, $i, $suitestotal, $plain_msg_ops);
+ $result = run_test($envname, $name, $cmd, $i, $suitestotal, $plain_msg_ops);
}
if ($opt_socket_wrapper_pcap and $result and