summaryrefslogtreecommitdiff
path: root/coverage/python.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-10-25 17:42:27 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-10-25 17:42:27 -0400
commite23f267505a42513d3ff6b636dda7425ec9052f8 (patch)
tree311755c9a5b3e5ee0b59bf8cbda888c48786d255 /coverage/python.py
parentc926756c1794f7950bdf5ce8d9d4e4044472bb3f (diff)
parentc370442bea855f0f87217db190760629fe559150 (diff)
downloadpython-coveragepy-e23f267505a42513d3ff6b636dda7425ec9052f8.tar.gz
Merged
Diffstat (limited to 'coverage/python.py')
-rw-r--r--coverage/python.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/coverage/python.py b/coverage/python.py
index 71b50f0..fe32150 100644
--- a/coverage/python.py
+++ b/coverage/python.py
@@ -4,6 +4,7 @@
"""Python source expertise for coverage.py"""
import os.path
+import sys
import zipimport
from coverage import env, files
@@ -95,6 +96,9 @@ class PythonFileReporter(FileReporter):
else:
filename = morf
+ if env.PY2 and isinstance(filename, str):
+ filename = filename.decode(sys.getfilesystemencoding())
+
# .pyc files should always refer to a .py instead.
if filename.endswith(('.pyc', '.pyo')):
filename = filename[:-1]
@@ -106,6 +110,8 @@ class PythonFileReporter(FileReporter):
if hasattr(morf, '__name__'):
name = morf.__name__
name = name.replace(".", os.sep) + ".py"
+ if isinstance(name, bytes):
+ name = name.decode(sys.getfilesystemencoding())
else:
name = files.relative_filename(filename)
self.relname = name
@@ -115,6 +121,7 @@ class PythonFileReporter(FileReporter):
self._statements = None
self._excluded = None
+ @contract(returns='unicode')
def relative_filename(self):
return self.relname