summaryrefslogtreecommitdiff
path: root/coverage/codeunit.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-06-12 20:49:02 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-06-12 20:49:02 -0400
commit91ddf99e0d892517910acbab2c5edf147d1c2baa (patch)
tree9cb8c51eb8bed024a282137ea5358ce8b99202d3 /coverage/codeunit.py
parentf68a3407dc3f1f9f69974837e9da623152c0f05e (diff)
downloadpython-coveragepy-git-91ddf99e0d892517910acbab2c5edf147d1c2baa.tar.gz
Get the flat_rootname right for nested CodeUnits. Thanks, Christian Heimes.
Diffstat (limited to 'coverage/codeunit.py')
-rw-r--r--coverage/codeunit.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/coverage/codeunit.py b/coverage/codeunit.py
index a4e029b7..87782cd0 100644
--- a/coverage/codeunit.py
+++ b/coverage/codeunit.py
@@ -66,7 +66,7 @@ class CodeUnit:
self.filename = file_locator.canonical_filename(f)
if hasattr(morf, '__name__'):
- n = morf.__name__
+ n = modname = morf.__name__
self.relative = True
else:
n = os.path.splitext(morf)[0]
@@ -76,7 +76,9 @@ class CodeUnit:
else:
self.relative = True
n = rel
+ modname = None
self.name = n
+ self.modname = modname
def __repr__(self):
return "<CodeUnit name=%r filename=%r>" % (self.name, self.filename)
@@ -94,8 +96,11 @@ class CodeUnit:
For example, the file a/b/c.py might return 'a_b_c'
"""
- root = os.path.splitdrive(os.path.splitext(self.name)[0])[1]
- return root.replace('\\', '_').replace('/', '_')
+ if self.modname:
+ return self.modname.replace('.', '_')
+ else:
+ root = os.path.splitdrive(os.path.splitext(self.name)[0])[1]
+ return root.replace('\\', '_').replace('/', '_')
def source_file(self):
"""Return an open file for reading the source of the code unit."""