summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/selftest/output/plain.pm35
-rwxr-xr-xsource4/selftest/samba4_tests.sh4
-rwxr-xr-xsource4/selftest/selftest.pl2
3 files changed, 30 insertions, 11 deletions
diff --git a/source4/selftest/output/plain.pm b/source4/selftest/output/plain.pm
index 59b89f84c9..6b196090a1 100644
--- a/source4/selftest/output/plain.pm
+++ b/source4/selftest/output/plain.pm
@@ -6,14 +6,16 @@ use Exporter;
use strict;
-sub new($$$$) {
- my ($class, $verbose, $immediate, $statistics) = @_;
+sub new($$$$$) {
+ my ($class, $summaryfile, $verbose, $immediate, $statistics) = @_;
my $self = {
verbose => $verbose,
immediate => $immediate,
statistics => $statistics,
test_output => {},
- suitesfailed => []
+ suitesfailed => [],
+ skips => {},
+ summaryfile => $summaryfile,
};
bless($self, $class);
}
@@ -102,12 +104,21 @@ sub summary($)
{
my ($self) = @_;
+ open(SUMMARY, ">$self->{summaryfile}");
+
+ if ($#{$self->{suitesfailed}} > -1) {
+ print SUMMARY "= Failed tests =\n";
+ }
+
if (not $self->{immediate} and not $self->{verbose}) {
foreach (@{$self->{suitesfailed}}) {
print "===============================================================================\n";
print "FAIL: $_\n";
print $self->{test_output}->{$_};
print "\n";
+
+ print SUMMARY "= $_ =\n";
+ print SUMMARY $self->{test_output}->{$_}."\n\n";
}
}
@@ -118,17 +129,25 @@ sub summary($)
} else {
print "FAILED ($self->{statistics}->{TESTS_UNEXPECTED_FAIL} failures and $self->{statistics}->{TESTS_ERROR} errors in $self->{statistics}->{SUITES_FAIL} testsuites)\n";
}
+
+ print SUMMARY "= Skipped tests =\n";
+ foreach my $reason (keys %{$self->{skips}}) {
+ print SUMMARY "$reason\n";
+ foreach my $name (@{$self->{skips}->{$reason}}) {
+ print SUMMARY "\t$name\n";
+ }
+ print SUMMARY "\n";
+ }
+ close(SUMMARY);
+
+ print "A summary can be found in $self->{summaryfile}\n";
}
sub skip_testsuite($$)
{
my ($self, $name, $reason) = @_;
- if ($reason) {
- print "SKIPPED: $name [$reason]\n";
- } else {
- print "SKIPPED: $name\n";
- }
+ push (@{$self->{skips}->{$reason}}, $name);
}
1;
diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh
index 4f2a2cb445..6b6a48769f 100755
--- a/source4/selftest/samba4_tests.sh
+++ b/source4/selftest/samba4_tests.sh
@@ -271,11 +271,11 @@ WINBIND_STRUCT_TESTS=`$samba4bindir/smbtorture --list | grep "^WINBIND-STRUCT" |
WINBIND_NDR_TESTS=`$samba4bindir/smbtorture --list | grep "^WINBIND-NDR" | xargs`
for env in dc member; do
for t in $WINBIND_STRUCT_TESTS; do
- plantest "$ENVNAME:$t" $ENVNAME $samba4bindir/smbtorture $WB_OPTS //_none_/_none_ $t
+ plantest $t $env $samba4bindir/smbtorture $WB_OPTS //_none_/_none_ $t
done
for t in $WINBIND_NDR_TESTS; do
- plantest "$ENVNAME:$t" $ENVNAME $samba4bindir/smbtorture $WB_OPTS //_none_/_none_ $t
+ plantest $t $env $samba4bindir/smbtorture $WB_OPTS //_none_/_none_ $t
done
done
diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl
index 69f60cbcf1..8928dc080a 100755
--- a/source4/selftest/selftest.pl
+++ b/source4/selftest/selftest.pl
@@ -736,7 +736,7 @@ if ($opt_format eq "buildfarm") {
$msg_ops = new output::buildfarm($statistics);
} elsif ($opt_format eq "plain") {
require output::plain;
- $msg_ops = new output::plain($opt_verbose, $opt_immediate, $statistics);
+ $msg_ops = new output::plain("$prefix/summary", $opt_verbose, $opt_immediate, $statistics);
} elsif ($opt_format eq "html") {
require output::html;
mkdir("test-results", 0777);