diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-06-09 12:53:43 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-06-09 12:53:43 -0400 |
commit | 7859afe0f96ec56ae2968bef1c20bbad0182ab22 (patch) | |
tree | 5f39227ec1454cafe069887798c5fb269c9d4be3 /coverage/html.py | |
parent | c246e197fa582854cd3165d47b3170cda425af1f (diff) | |
download | python-coveragepy-7859afe0f96ec56ae2968bef1c20bbad0182ab22.tar.gz |
Add detail to the UnicodeDecodeError for #303
Diffstat (limited to 'coverage/html.py')
-rw-r--r-- | coverage/html.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/coverage/html.py b/coverage/html.py index 159ae58..6c81110 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) |