diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-06-13 08:22:00 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-06-13 08:22:00 -0400 |
commit | 5416b815eb4ce3d525868b17d5b3fa1e92fcad6c (patch) | |
tree | 7539c40e31afd1594361e9f2c2eaa8c77bb72795 /coverage/control.py | |
parent | a654104c04b55fd9902a318cbbeeb3603959ebee (diff) | |
download | python-coveragepy-5416b815eb4ce3d525868b17d5b3fa1e92fcad6c.tar.gz |
Move plugin support stuff into plugin_support.py
Diffstat (limited to 'coverage/control.py')
-rw-r--r-- | coverage/control.py | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/coverage/control.py b/coverage/control.py index d05b844..9256edb 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -24,6 +24,7 @@ from coverage.misc import CoverageException, bool_or_none, join_regex from coverage.misc import file_be_gone, overrides from coverage.monkey import patch_multiprocessing from coverage.plugin import CoveragePlugin, FileReporter +from coverage.plugin_support import Plugins from coverage.python import PythonFileReporter from coverage.results import Analysis, Numbers from coverage.summary import SummaryReporter @@ -1163,51 +1164,3 @@ def process_startup(): # A hack for debugging testing in sub-processes. _TEST_NAME_FILE = "" # "/tmp/covtest.txt" - - -class Plugins(object): - """The currently loaded collection of coverage.py plugins.""" - - def __init__(self): - self.order = [] - self.names = {} - - @classmethod - def load_plugins(cls, modules, config): - """Load plugins from `modules`. - - Returns a list of loaded and configured plugins. - - """ - plugins = cls() - - for module in modules: - __import__(module) - mod = sys.modules[module] - - plugin_class = getattr(mod, "Plugin", None) - if plugin_class: - options = config.get_plugin_options(module) - plugin = plugin_class(options) - plugin._coverage_plugin_name = module - plugin._coverage_enabled = True - plugins.order.append(plugin) - plugins.names[module] = plugin - else: - raise CoverageException( - "Plugin module %r didn't define a Plugin class" % module - ) - - return plugins - - def __nonzero__(self): - return bool(self.order) - - __bool__ = __nonzero__ - - def __iter__(self): - return iter(self.order) - - def get(self, plugin_name): - """Return a plugin by name.""" - return self.names[plugin_name] |