Fix UnicodeEncodeError when string comparison with unicode has failed.

This commit is contained in:
Ahn Ki-Wook 2016-08-26 01:04:14 +09:00
parent 9c45d6cd83
commit 856ad719d3
2 changed files with 10 additions and 1 deletions

View File

@ -354,7 +354,7 @@ class ExceptionInfo(object):
if exprinfo is None and isinstance(tup[1], AssertionError):
exprinfo = getattr(tup[1], 'msg', None)
if exprinfo is None:
exprinfo = str(tup[1])
exprinfo = py._builtin._totext(tup[1])
if exprinfo and exprinfo.startswith('assert '):
self._striptext = 'AssertionError: '
self._excinfo = tup

View File

@ -816,3 +816,12 @@ def test_assert_indirect_tuple_no_warning(testdir):
result = testdir.runpytest('-rw')
output = '\n'.join(result.stdout.lines)
assert 'WR1' not in output
def test_assert_with_unicode(monkeypatch, testdir):
testdir.makepyfile(u"""
# -*- coding: utf-8 -*-
def test_unicode():
assert u'유니코드' == u'Unicode'
""")
result = testdir.runpytest()
result.stdout.fnmatch_lines(['*AssertionError*'])