summaryrefslogtreecommitdiff
path: root/python/subunit/__init__.py
diff options
context:
space:
mode:
authorRobert Collins <robertc@robertcollins.net>2012-12-17 20:58:13 +1300
committerRobert Collins <robertc@robertcollins.net>2012-12-17 20:58:13 +1300
commit0977f94261bd3260e19ef3f290dde8f69ebd95b0 (patch)
tree59af13f292bc8b3665a043e41f6f050bf4567668 /python/subunit/__init__.py
parent36b29fad0197417a12b6109c7557638f3c86843e (diff)
downloadsubunit-git-0977f94261bd3260e19ef3f290dde8f69ebd95b0.tar.gz
* Test ids which include non-ascii unicode characters are now supported.
(Robert Collins, #1029866)
Diffstat (limited to 'python/subunit/__init__.py')
-rw-r--r--python/subunit/__init__.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/python/subunit/__init__.py b/python/subunit/__init__.py
index ebe6e8c..749eda1 100644
--- a/python/subunit/__init__.py
+++ b/python/subunit/__init__.py
@@ -689,7 +689,7 @@ class TestProtocolClient(testresult.TestResult):
:param error_permitted: If True then one and only one of error or
details must be supplied. If False then error must not be supplied
and details is still optional. """
- self._stream.write(_b("%s: %s" % (outcome, test.id())))
+ self._stream.write(_b("%s: " % outcome) + self._test_id(test))
if error_permitted:
if error is None and details is None:
raise ValueError
@@ -737,10 +737,16 @@ class TestProtocolClient(testresult.TestResult):
if self.failfast:
self.stop()
+ def _test_id(self, test):
+ result = test.id()
+ if type(result) is not bytes:
+ result = result.encode('utf8')
+ return result
+
def startTest(self, test):
"""Mark a test as starting its test run."""
super(TestProtocolClient, self).startTest(test)
- self._stream.write(_b("test: %s\n" % test.id()))
+ self._stream.write(_b("test: ") + self._test_id(test) + _b("\n"))
self._stream.flush()
def stopTest(self, test):