#!/usr/bin/perl
# Plain text output for selftest
-# Copyright (C) 2008 Jelmer Vernooij <jelmer@samba.org>
+# Copyright (C) 2008-2009 Jelmer Vernooij <jelmer@samba.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
bless($self, $class);
}
+sub testsuite_count($$)
+{
+ my ($self, $count) = @_;
+ $self->{totalsuites} = $count;
+}
+
sub report_time($$)
{
my ($self, $time) = @_;
#$self->output_msg($output);
}
-sub end_testsuite($$$$$)
+sub end_testsuite($$$$)
{
- my ($self, $name, $result, $unexpected, $reason) = @_;
+ my ($self, $name, $result, $reason) = @_;
my $out = "";
+ my $unexpected = 0;
- if ($unexpected) {
- if ($result eq "success" and not defined($reason)) {
- $reason = "Expected negative exit code, got positive exit code";
- }
- $self->output_msg("ERROR: $reason\n");
- push (@{$self->{suitesfailed}}, $name);
- } else {
- $self->{suites_ok}++;
+ if (not defined($self->{test_output}->{$name})) {
+ print "no output for name[$name]\n";
}
- if ($unexpected and $self->{immediate} and not $self->{verbose}) {
- $out .= $self->{test_output}->{$name};
+ if ($result eq "success" or $result eq "xfail") {
+ $self->{suites_ok}++;
+ } else {
+ $self->output_msg("ERROR: Testsuite[$name]\nREASON: $reason\n");
+ push (@{$self->{suitesfailed}}, $name);
+ if ($self->{immediate} and not $self->{verbose}) {
+ $out .= $self->{test_output}->{$name};
+ }
+ $unexpected = 1;
}
if (not $self->{immediate}) {
- if (not $unexpected) {
+ unless($unexpected) {
$out .= " ok\n";
} else {
$out .= " " . uc($result) . "\n";
sub start_test($$$)
{
- my ($self, $parents, $testname) = @_;
-
- if ($#$parents == -1) {
- $self->start_testsuite($testname);
- }
+ my ($self, $testname) = @_;
}
sub end_test($$$$$)
{
- my ($self, $parents, $testname, $result, $unexpected, $reason) = @_;
+ my ($self, $testname, $result, $unexpected, $reason) = @_;
- if ($#$parents == -1) {
- if ($result eq "skip") {
- $self->skip_testsuite($testname, $reason);
- } else {
- $self->end_testsuite($testname, $result, $unexpected, $reason);
- }
- return;
- }
-
my $append = "";
unless ($unexpected) {
return;
}
- my $fullname = join(".", @$parents).".$testname";
-
- $append = "UNEXPECTED($result): $testname ($fullname)\n";
+ $append = "UNEXPECTED($result): $testname\n";
$self->{test_output}->{$self->{NAME}} .= $append;