10 my ($class, $verbose, $immediate, $statistics) = @_;
13 immediate => $immediate,
14 statistics => $statistics,
24 sub start_testsuite($$)
26 my ($self, $state) = @_;
29 my $duration = $state->{START_TIME} - $self->{statistics}->{START_TIME};
30 $out .= "[$state->{INDEX}/$state->{TOTAL} in ".$duration."s";
31 $out .= sprintf(", %d errors", $self->{statistics}->{SUITES_FAIL}) if ($self->{statistics}->{SUITES_FAIL} > 0);
32 $out .= "] $state->{NAME}\n",
34 $self->{test_output}->{$state->{NAME}} = "" unless($self->{verbose});
36 $self->output_msg($state, "CMD: $state->{CMD}\n");
43 my ($self, $state, $output) = @_;
45 if ($self->{verbose}) {
48 $self->{test_output}->{$state->{NAME}} .= $output;
52 sub end_testsuite($$$$$)
54 my ($self, $state, $expected_ret, $ret, $envlog) = @_;
57 if ($ret != $expected_ret) {
58 $self->output_msg($state, "ERROR: $ret\n");
61 if ($ret != $expected_ret and $self->{immediate} and not $self->{verbose}) {
62 $out .= $self->{test_output}->{$state->{NAME}};
70 my ($state, $testname) = @_;
75 my ($state, $testname, $result, $unexpected) = @_;
82 if (not $self->{immediate} and not $self->{verbose}) {
83 foreach (@{$self->{suitesfailed}}) {
84 print "===============================================================================\n";
86 print $self->{test_output}->{$_};
91 if ($self->{statistics}->{SUITES_FAIL} == 0) {
92 my $ok = $self->{statistics}->{TESTS_EXPECTED_OK} +
93 $self->{statistics}->{TESTS_EXPECTED_FAIL};
94 print "ALL OK ($ok tests in $self->{statistics}->{SUITES_OK} testsuites)\n";
96 print "FAILED ($self->{statistics}->{TESTS_UNEXPECTED_FAIL} failures and $self->{statistics}->{TESTS_ERROR} errors in $self->{statistics}->{SUITES_FAIL} testsuites)\n";
102 my ($self, $name, $envname) = @_;
104 print "FAIL: $name (ENV[$envname] not available!)\n";
107 sub skip_testsuite($$)
109 my ($self, $name) = @_;
111 print "SKIPPED: $name\n";