diff options
author | David Stanek <dstanek@dstanek.com> | 2010-02-20 19:36:21 -0500 |
---|---|---|
committer | David Stanek <dstanek@dstanek.com> | 2010-02-20 19:36:21 -0500 |
commit | 7ccdc87d3e4ad3a7933c3fc34e37213f36f3229a (patch) | |
tree | 3d0fff2cc0ece66db41ca777c877e29e133e7bcc /coverage/noseplugin.py | |
parent | 72231c6c356253323c4e18d4441401b272997c32 (diff) | |
download | python-coveragepy-git-7ccdc87d3e4ad3a7933c3fc34e37213f36f3229a.tar.gz |
moved the nose plugin to a better name
--HG--
rename : coverage/nose_coverage.py => coverage/noseplugin.py
Diffstat (limited to 'coverage/noseplugin.py')
-rw-r--r-- | coverage/noseplugin.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/coverage/noseplugin.py b/coverage/noseplugin.py new file mode 100644 index 00000000..b2bf9b5a --- /dev/null +++ b/coverage/noseplugin.py @@ -0,0 +1,67 @@ +import logging +import unittest, os +from nose.plugins import Plugin +import sys + +from coverage.testplugin import CoverageTestWrapper, options as coverage_opts + +log = logging.getLogger(__name__) + + +class Coverage(Plugin): + """ + Activate a coverage report using Ned Batchelder's coverage module. + """ + + name = "coverage_new" + score = 1 + status = {} + + def options(self, parser, env): + """ + Add options to command line. + """ + Plugin.options(self, 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 + Plugin.configure(self, options, config) + if self.enabled: + try: + import coverage + except ImportError: + log.error("Coverage not available: " + "unable to import coverage module") + self.enabled = False + return + + self.config = config + self.status['active'] = True + self.options = options + + def begin(self): + """ + Begin recording coverage information. + """ + log.debug("Coverage begin") + # Load the runner and start it up + self.coverage = CoverageTestWrapper(self.options) + self.coverage.start() + + def report(self, stream): + """ + Output code coverage report. + """ + log.debug("Coverage report") + stream.write("Processing Coverage...") + # finish up with coverage + self.coverage.finish(stream) + |