summaryrefslogtreecommitdiff
path: root/coverage/python.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2017-03-14 13:40:14 -0400
committerNed Batchelder <ned@nedbatchelder.com>2017-03-14 13:40:14 -0400
commit50a3baf54146337172d5efc57933adceb2b2fb78 (patch)
tree8ca9cee690bcbffd0c29f9b6978490dbda07589b /coverage/python.py
parentde73882e515fcce4bc4f2c62f0a6de42178866a5 (diff)
downloadpython-coveragepy-50a3baf54146337172d5efc57933adceb2b2fb78.tar.gz
Minimal IronPython support.
IronPython is weird: 2.7.7 has "str is unicode", and unicode.encode produces unicode! f_lasti is missing, and frame globals are missing.
Diffstat (limited to 'coverage/python.py')
-rw-r--r--coverage/python.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/coverage/python.py b/coverage/python.py
index f75be60..9418c38 100644
--- a/coverage/python.py
+++ b/coverage/python.py
@@ -26,7 +26,13 @@ def read_python_source(filename):
"""
with open(filename, "rb") as f:
- return f.read().replace(b"\r\n", b"\n").replace(b"\r", b"\n")
+ source = f.read()
+
+ if env.IRONPYTHON:
+ # IronPython reads Unicode strings even for "rb" files.
+ source = bytes(source)
+
+ return source.replace(b"\r\n", b"\n").replace(b"\r", b"\n")
@contract(returns='unicode')