Skip to content

Commit 10d0b8b

Browse files
committed
use safe_str to serialize Exceptions Fixes #5478
1 parent 4b104ba commit 10d0b8b

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/_pytest/_code/code.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -572,8 +572,9 @@ def match(self, regexp):
572572
raised.
573573
"""
574574
__tracebackhide__ = True
575-
if not re.search(regexp, str(self.value)):
576-
assert 0, "Pattern '{!s}' not found in '{!s}'".format(regexp, self.value)
575+
value = safe_str(self.value)
576+
if not re.search(regexp, value):
577+
assert 0, "Pattern {!r} not found in {!r}".format(regexp, value)
577578
return True
578579

579580

testing/python/raises.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,7 @@ def __class__(self):
278278
with pytest.raises(CrappyClass()):
279279
pass
280280
assert "via __class__" in excinfo.value.args[0]
281+
282+
def test_u(self):
283+
with pytest.raises(AssertionError, match=u"\u2603"):
284+
assert False, u"\u2603"

0 commit comments

Comments
 (0)