diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-05-29 23:51:53 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-05-29 23:51:53 -0400 |
commit | 2fd1d9b7dd96a64e6920dda369a13d95af728394 (patch) | |
tree | d6532544f433443c1dc826bfdc6598334a19a4b3 /coverage/noseplugin.py | |
parent | 879fe9c4721c557a31cb951ef9e0d7a098de319c (diff) | |
parent | 343f36c3fe555a196ca59268f71ea4c7838f4d1c (diff) | |
download | python-coveragepy-2fd1d9b7dd96a64e6920dda369a13d95af728394.tar.gz |
Merge latest code from main coverage.py repo
Diffstat (limited to 'coverage/noseplugin.py')
-rw-r--r-- | coverage/noseplugin.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/coverage/noseplugin.py b/coverage/noseplugin.py new file mode 100644 index 0000000..9e254ea --- /dev/null +++ b/coverage/noseplugin.py @@ -0,0 +1,49 @@ +import logging +from nose.plugins import Plugin + +from coverage.testplugin import CoverageTestWrapper, options as coverage_opts + + +log = logging.getLogger(__name__) + + +class Coverage(Plugin): + """Nose plugin for coverage reporting.""" + + score = 1 + status = {} + + def options(self, parser, env): + """Add command-line options.""" + + super(Coverage, self).options(parser, env) + for opt in coverage_opts: + parser.add_option(opt) + + def configure(self, options, config): + """Configure plugin.""" + + try: + self.status.pop('active') + except KeyError: + pass + + super(Coverage, self).configure(options, config) + + self.config = config + self.status['active'] = True + self.options = options + + def begin(self): + """Begin recording coverage information.""" + + log.debug("Coverage begin") + self.coverage = CoverageTestWrapper(self.options) + self.coverage.start() + + def report(self, stream): + """Output code coverage report.""" + + log.debug("Coverage report") + stream.write("Processing Coverage...") + self.coverage.finish(stream) |