diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-10-25 17:42:27 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-10-25 17:42:27 -0400 |
commit | e23f267505a42513d3ff6b636dda7425ec9052f8 (patch) | |
tree | 311755c9a5b3e5ee0b59bf8cbda888c48786d255 /coverage/python.py | |
parent | c926756c1794f7950bdf5ce8d9d4e4044472bb3f (diff) | |
parent | c370442bea855f0f87217db190760629fe559150 (diff) | |
download | python-coveragepy-e23f267505a42513d3ff6b636dda7425ec9052f8.tar.gz |
Merged
Diffstat (limited to 'coverage/python.py')
-rw-r--r-- | coverage/python.py | 7 |
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 |