summaryrefslogtreecommitdiff
path: root/source4/selftest/Subunit.pm
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-04-17 09:36:09 +0200
committerAndrew Tridgell <tridge@samba.org>2008-04-17 09:36:09 +0200
commit30b9c37420100c98df1a538673d508e46517accf (patch)
tree33ccf13461371c1281a0fc707e66a814a3bc88e9 /source4/selftest/Subunit.pm
parent4bbaf36f6fd85c9d07a16320ad58d7a6ad43fd6c (diff)
parentbaad7a7e56e2b0f24885e01672cd9bdc6667a6a8 (diff)
downloadsamba-30b9c37420100c98df1a538673d508e46517accf.tar.gz
samba-30b9c37420100c98df1a538673d508e46517accf.tar.bz2
samba-30b9c37420100c98df1a538673d508e46517accf.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
Conflicts: source/ntvfs/ntvfs_generic.c (This used to be commit a626a9c69cb2c07c8de69dcfe45361f86d6de58d)
Diffstat (limited to 'source4/selftest/Subunit.pm')
-rw-r--r--source4/selftest/Subunit.pm15
1 files changed, 13 insertions, 2 deletions
diff --git a/source4/selftest/Subunit.pm b/source4/selftest/Subunit.pm
index e5c61ca9ba..05e51da541 100644
--- a/source4/selftest/Subunit.pm
+++ b/source4/selftest/Subunit.pm
@@ -20,15 +20,22 @@ sub parse_results($$$$$)
$msg_ops->control_msg($_);
$msg_ops->start_test($open_tests, $1);
push (@$open_tests, $1);
- } elsif (/^(success|successful|failure|skip|error): (.*?)( \[)?([ \t]*)\n/) {
+ } elsif (/^(success|successful|failure|skip|knownfail|error): (.*?)( \[)?([ \t]*)\n/) {
$msg_ops->control_msg($_);
my $reason = undef;
if ($3) {
$reason = "";
# reason may be specified in next lines
+ my $terminated = 0;
while(<$fh>) {
$msg_ops->control_msg($_);
- if ($_ eq "]\n") { last; } else { $reason .= $_; }
+ if ($_ eq "]\n") { $terminated = 1; last; } else { $reason .= $_; }
+ }
+
+ unless ($terminated) {
+ $statistics->{TESTS_ERROR}++;
+ $msg_ops->end_test($open_tests, $2, $1, 1, "reason interrupted");
+ return 1;
}
}
my $result = $1;
@@ -53,6 +60,10 @@ sub parse_results($$$$$)
$msg_ops->end_test($open_tests, $2, $1, 1, $reason);
$unexpected_fail++;
}
+ } elsif ($1 eq "knownfail") {
+ pop(@$open_tests); #FIXME: Check that popped value == $2
+ $statistics->{TESTS_EXPECTED_FAIL}++;
+ $msg_ops->end_test($open_tests, $2, $1, 0, $reason);
} elsif ($1 eq "skip") {
$statistics->{TESTS_SKIP}++;
pop(@$open_tests); #FIXME: Check that popped value == $2