diff options
author | Ned Batchelder <nedbat@gmail.com> | 2015-04-24 21:06:26 -0400 |
---|---|---|
committer | Ned Batchelder <nedbat@gmail.com> | 2015-04-24 21:06:26 -0400 |
commit | b13338b0b62f3dde9bd757e9be00f820f1cf38ee (patch) | |
tree | dea89613b6719d984e02f005020fc037a09c94b2 | |
parent | 487a14d375d30a75927051b38fdd211c12910311 (diff) | |
parent | 0d454947d16f790c7566c09666973dadf538ec20 (diff) | |
download | python-coveragepy-git-b13338b0b62f3dde9bd757e9be00f820f1cf38ee.tar.gz |
Merged in lep/coverage.py (pull request #48)
Fix #363: crash when annotating non-ascii characters in python 2.
-rw-r--r-- | coverage/annotate.py | 5 | ||||
-rw-r--r-- | tests/farm/annotate/gold_encogings/utf8.py,cover | 4 | ||||
-rw-r--r-- | tests/farm/annotate/run_encodings.py | 7 | ||||
-rw-r--r-- | tests/farm/annotate/src/utf8.py | 4 |
4 files changed, 20 insertions, 0 deletions
diff --git a/coverage/annotate.py b/coverage/annotate.py index b77df4ec..6e68d4a3 100644 --- a/coverage/annotate.py +++ b/coverage/annotate.py @@ -2,6 +2,7 @@ import os, re +from coverage import env from coverage.report import Reporter class AnnotateReporter(Reporter): @@ -89,4 +90,8 @@ class AnnotateReporter(Reporter): dest.write('> ') else: dest.write('! ') + + if env.PY2: + line = line.encode('utf-8') + dest.write(line) diff --git a/tests/farm/annotate/gold_encogings/utf8.py,cover b/tests/farm/annotate/gold_encogings/utf8.py,cover new file mode 100644 index 00000000..6dbf7e0d --- /dev/null +++ b/tests/farm/annotate/gold_encogings/utf8.py,cover @@ -0,0 +1,4 @@ + # -*- coding: utf-8 -*- + # This comment has an accent: é + +> print("spam eggs") diff --git a/tests/farm/annotate/run_encodings.py b/tests/farm/annotate/run_encodings.py new file mode 100644 index 00000000..eb1a3a9a --- /dev/null +++ b/tests/farm/annotate/run_encodings.py @@ -0,0 +1,7 @@ +copy("src", "out") +run(""" + coverage run utf8.py + coverage annotate utf8.py + """, rundir="out") +compare("out", "gold_encodings", "*,cover") +clean("out") diff --git a/tests/farm/annotate/src/utf8.py b/tests/farm/annotate/src/utf8.py new file mode 100644 index 00000000..27342d87 --- /dev/null +++ b/tests/farm/annotate/src/utf8.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# This comment has an accent: é + +print("spam eggs") |