summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/config.py2
-rw-r--r--coverage/xmlreport.py2
2 files changed, 4 insertions, 0 deletions
diff --git a/coverage/config.py b/coverage/config.py
index 326389c7..7b142671 100644
--- a/coverage/config.py
+++ b/coverage/config.py
@@ -183,6 +183,7 @@ class CoverageConfig(object):
# Defaults for [xml]
self.xml_output = "coverage.xml"
+ self.xml_package_depth = 99
# Defaults for [paths]
self.paths = {}
@@ -283,6 +284,7 @@ class CoverageConfig(object):
# [xml]
('xml_output', 'xml:output'),
+ ('xml_package_depth', 'xml:package_depth', 'int'),
]
def _set_attr_from_config_option(self, cp, attr, where, type_=''):
diff --git a/coverage/xmlreport.py b/coverage/xmlreport.py
index 3510c5b6..f7ad2b8a 100644
--- a/coverage/xmlreport.py
+++ b/coverage/xmlreport.py
@@ -124,6 +124,8 @@ class XmlReporter(Reporter):
filename = cu.file_locator.relative_filename(cu.filename)
filename = filename.replace("\\", "/")
dirname = os.path.dirname(filename) or "."
+ parts = dirname.split("/")
+ dirname = "/".join(parts[:self.config.xml_package_depth])
package_name = dirname.replace("/", ".")
className = cu.name