summaryrefslogtreecommitdiff
path: root/source4/selftest/selftest.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-08-26 19:07:46 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:02:36 -0500
commit04e8c10f9e1dcd9edf94ae071a51f5e93ecc2a2e (patch)
tree7b8ad1ce3beb2776ea22a6aace2fbb2c4d23e7de /source4/selftest/selftest.pl
parentd981c69a18599ce7848afc3e77ad8ab14e6efbe8 (diff)
downloadsamba-04e8c10f9e1dcd9edf94ae071a51f5e93ecc2a2e.tar.gz
samba-04e8c10f9e1dcd9edf94ae071a51f5e93ecc2a2e.tar.bz2
samba-04e8c10f9e1dcd9edf94ae071a51f5e93ecc2a2e.zip
r24671: More improvements to the HTML test suite results: hide
control messages, improve summary, stylesheet. (This used to be commit fcc2320417707ec803d706a923a231fbd1bb72a7)
Diffstat (limited to 'source4/selftest/selftest.pl')
-rwxr-xr-xsource4/selftest/selftest.pl36
1 files changed, 25 insertions, 11 deletions
diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl
index a10baebcf4..b0b53a16f1 100755
--- a/source4/selftest/selftest.pl
+++ b/source4/selftest/selftest.pl
@@ -156,7 +156,8 @@ my $statistics = {
TESTS_EXPECTED_OK => 0,
TESTS_UNEXPECTED_FAIL => 0,
TESTS_EXPECTED_FAIL => 0,
- TESTS_ERROR => 0
+ TESTS_ERROR => 0,
+ TESTS_SKIP => 0,
};
sub expecting_failure($)
@@ -218,45 +219,58 @@ sub parse_subunit_results($$$$)
my $open_tests = {};
while(<$fh>) {
- $msg_ops->output_msg($msg_state, $_);
if (/^test: (.+)\n/) {
+ $msg_ops->control_msg($msg_state, $_);
$open_tests->{$1} = 1;
$msg_ops->start_test($msg_state, $1);
- } elsif (/^(success|failure|skip|error): (.*?)( \[)?\n/) {
+ } elsif (/^(success|failure|skip|error): (.*?)( \[)?([ \t]*)\n/) {
+ $msg_ops->control_msg($msg_state, $_);
+ my $reason = undef;
+ if ($3) {
+ $reason = "";
+ # reason may be specified in next lines
+ while(<$fh>) {
+ $msg_ops->control_msg($msg_state, $_);
+ if ($_ eq "]\n") { last; } else { $reason .= $_; }
+ }
+ }
my $result = $1;
if ($1 eq "success") {
delete $open_tests->{$2};
if (expecting_failure("$msg_state->{NAME}/$2")) {
$statistics->{TESTS_UNEXPECTED_OK}++;
- $msg_ops->end_test($msg_state, $2, $1, 1);
+ $msg_ops->end_test($msg_state, $2, $1, 1, $reason);
} else {
$statistics->{TESTS_EXPECTED_OK}++;
- $msg_ops->end_test($msg_state, $2, $1, 0);
+ $msg_ops->end_test($msg_state, $2, $1, 0, $reason);
}
} elsif ($1 eq "failure") {
delete $open_tests->{$2};
if (expecting_failure("$msg_state->{NAME}/$2")) {
$statistics->{TESTS_EXPECTED_FAIL}++;
- $msg_ops->end_test($msg_state, $2, $1, 0);
+ $msg_ops->end_test($msg_state, $2, $1, 0, $reason);
$expected_ret = 0;
} else {
$statistics->{TESTS_UNEXPECTED_FAIL}++;
- $msg_ops->end_test($msg_state, $2, $1, 1);
+ $msg_ops->end_test($msg_state, $2, $1, 1, $reason);
}
} elsif ($1 eq "skip") {
+ $statistics->{TESTS_SKIP}++;
delete $open_tests->{$2};
- $msg_ops->end_test($msg_state, $2, $1, 0);
+ $msg_ops->end_test($msg_state, $2, $1, 0, $reason);
} elsif ($1 eq "error") {
$statistics->{TESTS_ERROR}++;
delete $open_tests->{$2};
- $msg_ops->end_test($msg_state, $2, $1, 1);
+ $msg_ops->end_test($msg_state, $2, $1, 1, $reason);
}
+ } else {
+ $msg_ops->output_msg($msg_state, $_);
}
}
foreach (keys %$open_tests) {
- $msg_ops->end_test($msg_state, $_, "error", 1);
- $msg_ops->output_msg($msg_state, "$_ was started but never finished!");
+ $msg_ops->end_test($msg_state, $_, "error", 1,
+ "was started but never finished!");
$statistics->{TESTS_ERROR}++;
}