Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

import all modules, even if there are no tests

This makes the coverage estimate a better description of the overall
level of coverage
  • Loading branch information...
commit 8bb19eba2f14b2321fe35fd81a3fadb38c8e7f77 1 parent 269aa25
@djmitche authored
View
31 .coveragerc
@@ -1,31 +0,0 @@
-[report]
-# Regexes for lines to exclude from consideration
-exclude_lines =
- # Have to re-enable the standard pragma
- pragma: no cover
-
- # Don't complain about missing debug-only code:
- def __repr__
- if self\.debug
-
- # Don't complain if tests don't hit defensive assertion code:
- raise AssertionError
- raise NotImplementedError
-
- # Don't complain if non-runnable code isn't run:
- if 0:
- if __name__ == .__main__.:
- if runtime.platformType == 'win32'
-
- # 'pass' generally means 'this won't be called'
- ^ *pass *$
-
-include =
- master/*
- slave/*
-
-omit =
- # omit all of our tests
- */test/*
- # templates cause coverage errors
- */templates/*
View
1  .coveragerc
View
31 common/coveragerc
@@ -0,0 +1,31 @@
+[report]
+# Regexes for lines to exclude from consideration
+exclude_lines =
+ # Have to re-enable the standard pragma
+ pragma: no cover
+
+ # Don't complain about missing debug-only code:
+ def __repr__
+ if self\.debug
+
+ # Don't complain if tests don't hit defensive assertion code:
+ raise AssertionError
+ raise NotImplementedError
+
+ # Don't complain if non-runnable code isn't run:
+ if 0:
+ if __name__ == .__main__.:
+ if runtime.platformType == 'win32'
+
+ # 'pass' generally means 'this won't be called'
+ ^ *pass *$
+
+include =
+ master/*
+ slave/*
+
+omit =
+ # omit all of our tests
+ */test/*
+ # templates cause coverage errors
+ */templates/*
View
133 master/buildbot/process/process_twisted.py
@@ -1,133 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-
-# Build classes specific to the Twisted codebase
-
-from buildbot.process.base import Build
-from buildbot.process.factory import BuildFactory
-from buildbot.steps import shell
-from buildbot.steps.python_twisted import HLint, ProcessDocs, BuildDebs, \
- Trial, RemovePYCs
-
-class TwistedBuild(Build):
- workdir = "Twisted" # twisted's bin/trial expects to live in here
- def isFileImportant(self, filename):
- if filename.startswith("doc/fun/"):
- return 0
- if filename.startswith("sandbox/"):
- return 0
- return 1
-
-class TwistedTrial(Trial):
- tests = "twisted"
- # the Trial in Twisted >=2.1.0 has --recurse on by default, and -to
- # turned into --reporter=bwverbose .
- recurse = False
- trialMode = ["--reporter=bwverbose"]
- testpath = None
- trial = "./bin/trial"
-
-class TwistedBaseFactory(BuildFactory):
- buildClass = TwistedBuild
- # bin/trial expects its parent directory to be named "Twisted": it uses
- # this to add the local tree to PYTHONPATH during tests
- workdir = "Twisted"
-
- def __init__(self, source):
- BuildFactory.__init__(self, [source])
-
-class QuickTwistedBuildFactory(TwistedBaseFactory):
- treeStableTimer = 30
- useProgress = 0
-
- def __init__(self, source, python="python"):
- TwistedBaseFactory.__init__(self, source)
- if type(python) is str:
- python = [python]
- self.addStep(HLint, python=python[0])
- self.addStep(RemovePYCs)
- for p in python:
- cmd = [p, "setup.py", "build_ext", "-i"]
- self.addStep(shell.Compile, command=cmd, flunkOnFailure=True)
- self.addStep(TwistedTrial, python=p, testChanges=True)
-
-class FullTwistedBuildFactory(TwistedBaseFactory):
- treeStableTimer = 5*60
-
- def __init__(self, source, python="python",
- processDocs=False, runTestsRandomly=False,
- compileOpts=[], compileOpts2=[]):
- TwistedBaseFactory.__init__(self, source)
- if processDocs:
- self.addStep(ProcessDocs)
-
- if type(python) == str:
- python = [python]
- assert isinstance(compileOpts, list)
- assert isinstance(compileOpts2, list)
- cmd = (python + compileOpts + ["setup.py", "build_ext"]
- + compileOpts2 + ["-i"])
-
- self.addStep(shell.Compile, command=cmd, flunkOnFailure=True)
- self.addStep(RemovePYCs)
- self.addStep(TwistedTrial, python=python, randomly=runTestsRandomly)
-
-class TwistedDebsBuildFactory(TwistedBaseFactory):
- treeStableTimer = 10*60
-
- def __init__(self, source, python="python"):
- TwistedBaseFactory.__init__(self, source)
- self.addStep(ProcessDocs, haltOnFailure=True)
- self.addStep(BuildDebs, warnOnWarnings=True)
-
-class TwistedReactorsBuildFactory(TwistedBaseFactory):
- treeStableTimer = 5*60
-
- def __init__(self, source,
- python="python", compileOpts=[], compileOpts2=[],
- reactors=None):
- TwistedBaseFactory.__init__(self, source)
-
- if type(python) == str:
- python = [python]
- assert isinstance(compileOpts, list)
- assert isinstance(compileOpts2, list)
- cmd = (python + compileOpts + ["setup.py", "build_ext"]
- + compileOpts2 + ["-i"])
-
- self.addStep(shell.Compile, command=cmd, warnOnFailure=True)
-
- if reactors == None:
- reactors = [
- 'gtk2',
- 'gtk',
- #'kqueue',
- 'poll',
- 'c',
- 'qt',
- #'win32',
- ]
- for reactor in reactors:
- flunkOnFailure = 1
- warnOnFailure = 0
- #if reactor in ['c', 'qt', 'win32']:
- # # these are buggy, so tolerate failures for now
- # flunkOnFailure = 0
- # warnOnFailure = 1
- self.addStep(RemovePYCs) # TODO: why?
- self.addStep(TwistedTrial, name=reactor, python=python,
- reactor=reactor, flunkOnFailure=flunkOnFailure,
- warnOnFailure=warnOnFailure)
View
65 master/buildbot/test/test_extra_coverage.py
@@ -0,0 +1,65 @@
+# This file is part of Buildbot. Buildbot is free software: you can
+# redistribute it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation, version 2.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Copyright Buildbot Team Members
+
+# this file imports a number of source files that are not
+# included in the coverage because none of the tests import
+# them; this results in a more accurate total coverage percent.
+
+modules = [] # for the benefit of pyflakes
+
+from buildbot import buildslave
+modules.extend([buildslave])
+from buildbot.changes import p4poller, svnpoller
+modules.extend([p4poller, svnpoller])
+from buildbot.clients import base, sendchange, tryclient
+modules.extend([base, sendchange, tryclient])
+from buildbot.process import mtrlogobserver, subunitlogobserver
+modules.extend([mtrlogobserver, subunitlogobserver])
+from buildbot.scripts import checkconfig, logwatcher, reconfig, runner, startup
+modules.extend([checkconfig, logwatcher, reconfig, runner, startup])
+from buildbot.status import client, html, status_gerrit, status_push
+modules.extend([client, html, status_gerrit, status_push])
+from buildbot.status import tinderbox, words
+modules.extend([tinderbox, words])
+from buildbot.status.web import baseweb, build, builder, buildstatus, changes
+modules.extend([baseweb, build, builder, buildstatus, changes])
+from buildbot.status.web import console, feeds, grid, logs, olpb, root, slaves
+modules.extend([console, feeds, grid, logs, olpb, root, slaves])
+from buildbot.status.web import status_json, step, tests, waterfall
+modules.extend([status_json, step, tests, waterfall])
+from buildbot.steps import dummy, master, maxq, python, python_twisted, subunit
+modules.extend([dummy, master, maxq, python, python_twisted, subunit])
+from buildbot.steps import trigger, vstudio
+modules.extend([trigger, vstudio])
+from buildbot.steps.package.rpm import rpmbuild, rpmlint, rpmspec
+modules.extend([rpmbuild, rpmlint, rpmspec])
+from buildbot.util import collections, eventual, loop, monkeypatches
+modules.extend([collections, eventual, loop, monkeypatches])
+
+# require gobject
+#import buildbot.clients.gtkPanes
+#import buildbot.clients.debug
+
+# requires mercurial
+#import buildbot.changes.hgbuildbot
+
+# requires libboto
+#import buildbot.ec2buildslave
+
+# requires libvirt
+#import buildbot.libvirtbuildslave
+
+# requires pycrypto
+#import buildbot.manhole
View
23 slave/buildslave/test/test_extra_coverage.py
@@ -0,0 +1,23 @@
+# This file is part of Buildbot. Buildbot is free software: you can
+# redistribute it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation, version 2.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Copyright Buildbot Team Members
+
+# this file imports a number of source files that are not
+# included in the coverage because none of the tests import
+# them; this results in a more accurate total coverage percent.
+
+modules = [] # for the benefit of pyflakes
+
+from buildslave.scripts import logwatcher, runner, startup
+modules.extend([logwatcher, runner, startup])
Please sign in to comment.
Something went wrong with that request. Please try again.