summaryrefslogtreecommitdiff
path: root/coverage/phystokens.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-10-25 17:40:09 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-10-25 17:40:09 -0400
commitb810cbc0d06df0a04e3380166215b8ad2f40524c (patch)
treeb0ea1499815b84301fa7991e37de128265526e81 /coverage/phystokens.py
parent15100248c12b85a00278371fea60f07718a9d499 (diff)
downloadpython-coveragepy-git-b810cbc0d06df0a04e3380166215b8ad2f40524c.tar.gz
Properly handle filenames with non-ASCII characters. #432
Diffstat (limited to 'coverage/phystokens.py')
-rw-r--r--coverage/phystokens.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/coverage/phystokens.py b/coverage/phystokens.py
index 203d41f2..f5bd0bc9 100644
--- a/coverage/phystokens.py
+++ b/coverage/phystokens.py
@@ -6,6 +6,7 @@
import codecs
import keyword
import re
+import sys
import token
import tokenize
@@ -281,6 +282,8 @@ def compile_unicode(source, filename, mode):
"""
source = neuter_encoding_declaration(source)
+ if env.PY2 and isinstance(filename, unicode):
+ filename = filename.encode(sys.getfilesystemencoding(), "replace")
code = compile(source, filename, mode)
return code