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
commit569ed043579f08a7f6faf3b3770401c541cc0fc9 (patch)
tree458f3318e09057d113c1d4207b9c2eff1b99a987 /coverage/codeunit.py
parent1195e160e60c7a30e19ce4fa0f2090e82eaacd68 (diff)
downloadpython-coveragepy-569ed043579f08a7f6faf3b3770401c541cc0fc9.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 a4e029b..87782cd 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."""