diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2017-03-14 13:40:14 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2017-03-14 13:40:14 -0400 |
commit | 50a3baf54146337172d5efc57933adceb2b2fb78 (patch) | |
tree | 8ca9cee690bcbffd0c29f9b6978490dbda07589b /coverage/python.py | |
parent | de73882e515fcce4bc4f2c62f0a6de42178866a5 (diff) | |
download | python-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.py | 8 |
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') |