summaryrefslogtreecommitdiff
path: root/coverage/annotate.py
diff options
context:
space:
mode:
authorNed Batchelder <nedbat@gmail.com>2015-08-01 12:53:22 -0400
committerNed Batchelder <nedbat@gmail.com>2015-08-01 12:53:22 -0400
commit162bab174bf05323e75e247411b8c86e49420415 (patch)
tree94f28318f3267dc16a7b8bb1f597d8fb52033bee /coverage/annotate.py
parent78a0ad5a6b4668dc9f1807d7bfb431d263b7b071 (diff)
parent9559181fa49011bc94e51c967010e2cb49714d15 (diff)
downloadpython-coveragepy-162bab174bf05323e75e247411b8c86e49420415.tar.gz
Merged in traff/coverage.py (pull request #50)
Look for __main__ module if coverage is being run for directory #252
Diffstat (limited to 'coverage/annotate.py')
-rw-r--r--coverage/annotate.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/coverage/annotate.py b/coverage/annotate.py
index b77df4e..4b4966e 100644
--- a/coverage/annotate.py
+++ b/coverage/annotate.py
@@ -1,6 +1,11 @@
-"""Source file annotation for Coverage."""
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
-import os, re
+"""Source file annotation for coverage.py."""
+
+import io
+import os
+import re
from coverage.report import Reporter
@@ -59,7 +64,7 @@ class AnnotateReporter(Reporter):
else:
dest_file = fr.filename + ",cover"
- with open(dest_file, 'w') as dest:
+ with io.open(dest_file, 'w', encoding='utf8') as dest:
i = 0
j = 0
covered = True
@@ -72,21 +77,22 @@ class AnnotateReporter(Reporter):
if i < len(statements) and statements[i] == lineno:
covered = j >= len(missing) or missing[j] > lineno
if self.blank_re.match(line):
- dest.write(' ')
+ dest.write(u' ')
elif self.else_re.match(line):
# Special logic for lines containing only 'else:'.
if i >= len(statements) and j >= len(missing):
- dest.write('! ')
+ dest.write(u'! ')
elif i >= len(statements) or j >= len(missing):
- dest.write('> ')
+ dest.write(u'> ')
elif statements[i] == missing[j]:
- dest.write('! ')
+ dest.write(u'! ')
else:
- dest.write('> ')
+ dest.write(u'> ')
elif lineno in excluded:
- dest.write('- ')
+ dest.write(u'- ')
elif covered:
- dest.write('> ')
+ dest.write(u'> ')
else:
- dest.write('! ')
+ dest.write(u'! ')
+
dest.write(line)