[py-svn] pytest-coverage commit 55a0426c3999: Added 'coverage' funcarg to our plugin object DoCoverage.

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Thu Feb 25 22:01:56 CET 2010


# HG changeset patch -- Bitbucket.org
# Project pytest-coverage
# URL http://bitbucket.org/prologic/pytest-coverage/overview/
# User prologic
# Date 1267131698 -36000
# Node ID 55a0426c39999fb4f88470e4cd1c3593e2e9c16d
# Parent  951db18315b48dd8c5bf545f09bd1d0aa9cfda6d
Added 'coverage' funcarg to our plugin object DoCoverage.

--- a/pytest_coverage.py
+++ b/pytest_coverage.py
@@ -41,20 +41,25 @@ def pytest_configure(config):
         config.pluginmanager.register(DoCoverage(config), "coverage")
 
 class DoCoverage:
+
     def __init__(self, config):
         self.config = config 
-        import coverage
-        self.cov = coverage.coverage()
-        self.cov.use_cache(0) # Do not cache any of the coverage.py stuff
-        self.cov.start()
+
+        self._coverage = coverage()
+        self._coverage.use_cache(False)
+        self._coverage.start()
+
+    def pytest_funcarg__coverage(self, request):
+        return self._coverage
 
     def pytest_terminal_summary(self, terminalreporter):
+        self._coverage.stop()
+        self._coverage.save()
+
         config = terminalreporter.config
         tw = terminalreporter._tw
         tw.sep('-', 'coverage')
         tw.line('Processing Coverage...')
-        self.cov.stop()
-        self.cov.save()
         
         # Get the configurations
         config = terminalreporter.config
@@ -87,8 +92,9 @@ class DoCoverage:
         #    report_args['omit_prefixes'] = omit_prefixes
         
         if report_type == 'report':
-            self.cov.report(show_missing=show_missing, file=tw, **report_args)
+            self._coverage.report(show_missing=show_missing, file=tw,
+                    **report_args)
         elif report_type == 'annotate':
-            self.cov.annotate(directory=directory, **report_type)
+            self._coverage.annotate(directory=directory, **report_type)
         elif report_type == 'html':
-            self.cov.html_report(directory=directory, **report_args)
+            self._coverage.html_report(directory=directory, **report_args)



More information about the pytest-commit mailing list