summaryrefslogtreecommitdiff
path: root/source4/selftest/selftest.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-10-31 14:48:48 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:43:49 +0100
commit7267b3505889e00e0f13cd1b7fa9c5bb8dedb4e4 (patch)
treea9240a2d440b37c4567800a20968381f720b631c /source4/selftest/selftest.pl
parent3c5a71f7e5aec48a1a195e5402f7214d481942d2 (diff)
downloadsamba-7267b3505889e00e0f13cd1b7fa9c5bb8dedb4e4.tar.gz
samba-7267b3505889e00e0f13cd1b7fa9c5bb8dedb4e4.tar.bz2
samba-7267b3505889e00e0f13cd1b7fa9c5bb8dedb4e4.zip
r25764: Fix total number of tests count to not include skipped tests.
(This used to be commit d90b058cd48d8b08bb0a0cd6e97ad95062f8259e)
Diffstat (limited to 'source4/selftest/selftest.pl')
-rwxr-xr-xsource4/selftest/selftest.pl60
1 files changed, 28 insertions, 32 deletions
diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl
index 8928dc080a..ae97d502ee 100755
--- a/source4/selftest/selftest.pl
+++ b/source4/selftest/selftest.pl
@@ -203,15 +203,7 @@ sub skip($)
{
my ($name) = @_;
- my $reason = find_in_list(\@excludes, $name);
-
- return $reason if $reason;
-
- return undef unless ($#includes > -1);
-
- return "not included" if (not find_in_list(\@includes, $name));
-
- return undef;
+ return find_in_list(\@excludes, $name);
}
sub getlog_env($);
@@ -611,8 +603,33 @@ if ($#testlists == -1) {
die("No testlists specified");
}
-foreach (@testlists) {
- push(@todo, read_testlist($_));
+my $msg_ops;
+if ($opt_format eq "buildfarm") {
+ require output::buildfarm;
+ $msg_ops = new output::buildfarm($statistics);
+} elsif ($opt_format eq "plain") {
+ require output::plain;
+ $msg_ops = new output::plain("$prefix/summary", $opt_verbose, $opt_immediate, $statistics);
+} elsif ($opt_format eq "html") {
+ require output::html;
+ mkdir("test-results", 0777);
+ $msg_ops = new output::html("test-results", $statistics);
+} else {
+ die("Invalid output format '$opt_format'");
+}
+
+foreach my $fn (@testlists) {
+ foreach (read_testlist($fn)) {
+ my $name = $$_[0];
+ next if (@includes and not find_in_list(\@includes, $name));
+ my $skipreason = skip($name);
+ if ($skipreason) {
+ $msg_ops->skip_testsuite($name, $skipreason);
+ $statistics->{SUITES_SKIPPED}++;
+ } else {
+ push(@todo, $_);
+ }
+ }
}
if ($#todo == -1) {
@@ -730,20 +747,6 @@ sub teardown_env($)
delete $running_envs{$envname};
}
-my $msg_ops;
-if ($opt_format eq "buildfarm") {
- require output::buildfarm;
- $msg_ops = new output::buildfarm($statistics);
-} elsif ($opt_format eq "plain") {
- require output::plain;
- $msg_ops = new output::plain("$prefix/summary", $opt_verbose, $opt_immediate, $statistics);
-} elsif ($opt_format eq "html") {
- require output::html;
- mkdir("test-results", 0777);
- $msg_ops = new output::html("test-results", $statistics);
-} else {
- die("Invalid output format '$opt_format'");
-}
if ($opt_no_lazy_setup) {
setup_env($_) foreach (keys %required_envs);
@@ -781,13 +784,6 @@ $envvarstr
my $name = $$_[0];
my $envname = $$_[1];
- my $skipreason = skip($name);
- if ($skipreason) {
- $msg_ops->skip_testsuite($name, $skipreason);
- $statistics->{SUITES_SKIPPED}++;
- next;
- }
-
my $envvars = setup_env($envname);
if (not defined($envvars)) {
$statistics->{SUITES_SKIPPED}++;