summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorRobert Collins <robertc@robertcollins.net>2010-06-11 13:35:58 +1200
committerRobert Collins <robertc@robertcollins.net>2010-06-11 13:35:58 +1200
commit348614019d0d8d88914286505a0dcdf1eac92a2f (patch)
tree3d0feb3f42ff5842ce294a7f4f9a0d66b801ba5b /python
parent15319ea5c759d6128845035b356092106ad95864 (diff)
downloadsubunit-git-348614019d0d8d88914286505a0dcdf1eac92a2f.tar.gz
* Old style tracebacks with no encoding info are now treated as UTF8 rather
than some-random-codec-like-ascii. (Robert Collins)
Diffstat (limited to 'python')
-rw-r--r--python/subunit/__init__.py2
-rw-r--r--python/subunit/details.py6
2 files changed, 7 insertions, 1 deletions
diff --git a/python/subunit/__init__.py b/python/subunit/__init__.py
index bcba63e..7734852 100644
--- a/python/subunit/__init__.py
+++ b/python/subunit/__init__.py
@@ -619,6 +619,8 @@ class TestProtocolClient(unittest.TestResult):
raise ValueError
if error is not None:
self._stream.write(" [\n")
+ # XXX: this needs to be made much stricter, along the lines of
+ # Martin[gz]'s work in testtools. Perhaps subunit can use that?
for line in self._exc_info_to_string(error, test).splitlines():
self._stream.write("%s\n" % line)
else:
diff --git a/python/subunit/details.py b/python/subunit/details.py
index acd6d0d..a37b2ac 100644
--- a/python/subunit/details.py
+++ b/python/subunit/details.py
@@ -47,8 +47,12 @@ class SimpleDetailsParser(DetailsParser):
def get_details(self, style=None):
result = {}
if not style:
+ # We know that subunit/testtools serialise [] formatted
+ # tracebacks as utf8, but perhaps we need a ReplacingContent
+ # or something like that.
result['traceback'] = content.Content(
- content_type.ContentType("text", "x-traceback"),
+ content_type.ContentType("text", "x-traceback",
+ {"charset": "utf8"}),
lambda:[self._message])
else:
if style == 'skip':