summaryrefslogtreecommitdiff
path: root/coverage/html.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2014-06-09 12:53:43 -0400
committerNed Batchelder <ned@nedbatchelder.com>2014-06-09 12:53:43 -0400
commit8f5aa5738644bf81c2d0547de5bbe5f77548b1a9 (patch)
tree6b99da1894232262c2ac310f760b7ded8a9c3350 /coverage/html.py
parentcc2b678e7452395e58e3df43116b06c3410bec06 (diff)
downloadpython-coveragepy-git-8f5aa5738644bf81c2d0547de5bbe5f77548b1a9.tar.gz
Add detail to the UnicodeDecodeError for #303
Diffstat (limited to 'coverage/html.py')
-rw-r--r--coverage/html.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/html.py b/coverage/html.py
index 159ae581..6c811107 100644
--- a/coverage/html.py
+++ b/coverage/html.py
@@ -238,7 +238,15 @@ class HtmlReporter(Reporter):
}))
if sys.version_info < (3, 0):
- html = html.decode(encoding)
+ try:
+ html = html.decode(encoding)
+ except UnicodeDecodeError as e:
+ sample = e.object[max([0, e.start-30]):e.start+30]
+ raise CoverageException(
+ "Couldn't decode %r as %s: %r" % (
+ cu.filename, e.encoding, sample
+ )
+ )
html_filename = flat_rootname + ".html"
html_path = os.path.join(self.directory, html_filename)