[py-svn] pytest-coverage commit ab88bc5b9a2e: fixing little things, tests pass for now

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Wed Feb 10 20:38:39 CET 2010


# HG changeset patch -- Bitbucket.org
# Project pytest-coverage
# URL http://bitbucket.org/prologic/pytest-coverage/overview/
# User holger krekel <holger at merlinux.eu>
# Date 1265830708 -3600
# Node ID ab88bc5b9a2e2e6a86c88a73898ea7bbbcffe8b0
# Parent fe73865f34061f59c9e686c00e36dd482daa398e
fixing little things, tests pass for now

--- a/test_pytest_coverage.py
+++ b/test_pytest_coverage.py
@@ -16,7 +16,7 @@ def test_functional(testdir):
     assert result.ret == 0
     assert result.stdout.fnmatch_lines([])
 
-def test_no_coverage_import(testdir):
+def test_coverage_is_not_imported(testdir):
     testdir.makepyfile("""
         import sys
         def test_whatever():

--- a/pytest_coverage.py
+++ b/pytest_coverage.py
@@ -4,8 +4,6 @@ import sys
 import optparse
 from types import ListType
 
-import coverage
-
 class CoverageTestWrapper(object):
     """
     A Coverage Test Wrapper.
@@ -18,24 +16,17 @@ class CoverageTestWrapper(object):
     """
     
     coverTests = False
-    coverPackage = None
+    coverPackages = None
 
-    def __init__(self, options, _covpkg=None):
+    def __init__(self, options):
         self.options = options
-        
-        # _covpkg is for dependency injection, so we can test this code.
-        if _covpkg:
-            self.covpkg = _covpkg
-        else:
-            import coverage
-            self.covpkg = coverage
-        
         self.coverage = None
-
         self.coverTests = options.cover_tests
         self.coverPackage = options.cover_package
     
     def start(self):
+        import coverage
+        self.covpkg = coverage
         # Set up coverage
         self.coverage = self.covpkg.coverage(
             data_suffix = bool(self.options.cover_parallel_mode),
@@ -53,13 +44,11 @@ class CoverageTestWrapper(object):
         # end coverage and save the results
         self.coverage.stop()
         self.coverage.save()
-
+    
         modules = []
-        if self.coverPackage is not None:
-            modules = [module
-                    for name, module in sys.modules.items()
-                    if module is not None and \
-                            name.startswith(self.coverPackage)]
+        for name, module in sys.modules.items():
+            if module is not None and name.startswith(self.coverPackage):
+                modules.append(name)
         
         # Remaining actions are reporting, with some common self.options.
         report_args = {
@@ -97,7 +86,8 @@ class CoverageTestWrapper(object):
 options = [
     optparse.Option('',
                 '--cover-action', action='append', default=None,
-                dest='cover_actions', type="choice", choices=['annotate', 'html', 'report', 'xml'],
+                dest='cover_actions', type="choice", 
+                choices=['annotate', 'html', 'report', 'xml'],
                 help="""\
 annotate    Annotate source files with execution information.
 html        Create an HTML report.
@@ -106,7 +96,7 @@ xml         Create an XML report of cove
 """.strip()),
     optparse.Option(
         '--cover-package', action='store',
-        dest="cover_package",
+        dest="cover_package", default="",
         metavar="COVER_PACKAGE",
         help="Restrict coverage output to selected package"
         ),
@@ -205,7 +195,8 @@ class DoCover:
 # Monkey patch omit_filter to use regex patterns for file omits
 def omit_filter(omit_prefixes, code_units):
     import re
-    exclude_patterns = [re.compile(line.strip()) for line in omit_prefixes if line and not line.startswith('#')]
+    exclude_patterns = [re.compile(line.strip()) 
+        for line in omit_prefixes if line and not line.startswith('#')]
     filtered = []
     for cu in code_units:
         skip = False
@@ -218,4 +209,4 @@ def omit_filter(omit_prefixes, code_unit
             filtered.append(cu)
     return filtered
 
-coverage.codeunit.omit_filter = omit_filter
+#coverage.codeunit.omit_filter = omit_filter



More information about the pytest-commit mailing list