summaryrefslogtreecommitdiff
path: root/nose/plugins
diff options
context:
space:
mode:
authorJohn Szakmeister <john@szakmeister.net>2013-06-01 02:22:02 -0700
committerJohn Szakmeister <john@szakmeister.net>2013-06-01 02:22:02 -0700
commit439ea7b0c1ed667ece1d36c901b862bb34bb4d9b (patch)
tree19b2ae50613546e78f9cb80f0b5f5693eaf60b31 /nose/plugins
parent9b1cdeceabb117bd4f051226249b42012f84a6c5 (diff)
parent41dd933fbc6edd289e5d5d3eedf777cfae5409f8 (diff)
downloadnose-439ea7b0c1ed667ece1d36c901b862bb34bb4d9b.tar.gz
Merge pull request #686 from jszakmeister/fix-issue-649
Fix #649: UnicodeDecodeError when an exception contains encoded strings
Diffstat (limited to 'nose/plugins')
-rw-r--r--nose/plugins/capture.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/nose/plugins/capture.py b/nose/plugins/capture.py
index ecea8ff..224f0a5 100644
--- a/nose/plugins/capture.py
+++ b/nose/plugins/capture.py
@@ -89,7 +89,12 @@ class Capture(Plugin):
if isinstance(ev, BaseException):
if hasattr(ev, '__unicode__'):
# 2.6+
- ev = unicode(ev)
+ try:
+ ev = unicode(ev)
+ except UnicodeDecodeError:
+ # We need a unicode string... take our best shot at getting,
+ # since we don't know what the original encoding is in.
+ ev = str(ev).decode('utf8', 'replace')
else:
# 2.5-
if not hasattr(ev, 'message'):