diff options
-rw-r--r-- | source4/selftest/output/plain.pm | 35 | ||||
-rwxr-xr-x | source4/selftest/samba4_tests.sh | 4 | ||||
-rwxr-xr-x | source4/selftest/selftest.pl | 2 |
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); |