use strict;
-sub parse_results($$$$)
+sub parse_results($$$)
{
- my ($msg_ops, $statistics, $fh, $open_tests) = @_;
+ my ($msg_ops, $statistics, $fh) = @_;
my $unexpected_ok = 0;
my $expected_fail = 0;
my $unexpected_fail = 0;
my $unexpected_err = 0;
- my $orig_open_len = $#$open_tests;
+ my $open_tests = [];
while(<$fh>) {
if (/^test: (.+)\n/) {
}
}
- while ($#$open_tests > $orig_open_len) {
+ while ($#$open_tests+1 > 0) {
$msg_ops->end_test(pop(@$open_tests), "error", 1,
"was started but never finished!");
$statistics->{TESTS_ERROR}++;
return undef;
}
-my $statistics = {
- SUITES_FAIL => 0,
-
- TESTS_UNEXPECTED_OK => 0,
- TESTS_EXPECTED_OK => 0,
- TESTS_UNEXPECTED_FAIL => 0,
- TESTS_EXPECTED_FAIL => 0,
- TESTS_ERROR => 0,
- TESTS_SKIP => 0,
-};
-
sub control_msg()
{
# We regenerate control messages, so ignore this
my $msg_ops = new Subunit::Filter($opt_prefix, \@expected_failures);
-parse_results($msg_ops, $statistics, *STDIN, []);
+parse_results($msg_ops, $statistics, *STDIN);
0;
die("Invalid output format '$opt_format'");
}
-my $expected_ret = parse_results($msg_ops, $statistics, *STDIN, []);
+my $expected_ret = parse_results($msg_ops, $statistics, *STDIN);
$msg_ops->summary();