Improve quoting in raises match failure message (#5553)
Improve quoting in raises match failure message
This commit is contained in:
commit
95824c588a
|
@ -0,0 +1 @@
|
||||||
|
Improve quoting in ``raises`` match failure message.
|
|
@ -544,7 +544,7 @@ class ExceptionInfo:
|
||||||
"""
|
"""
|
||||||
__tracebackhide__ = True
|
__tracebackhide__ = True
|
||||||
if not re.search(regexp, str(self.value)):
|
if not re.search(regexp, str(self.value)):
|
||||||
assert 0, "Pattern '{!s}' not found in '{!s}'".format(regexp, self.value)
|
assert 0, "Pattern {!r} not found in {!r}".format(regexp, str(self.value))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -220,13 +220,20 @@ class TestRaises:
|
||||||
int("asdf")
|
int("asdf")
|
||||||
|
|
||||||
msg = "with base 16"
|
msg = "with base 16"
|
||||||
expr = r"Pattern '{}' not found in 'invalid literal for int\(\) with base 10: 'asdf''".format(
|
expr = r"Pattern '{}' not found in \"invalid literal for int\(\) with base 10: 'asdf'\"".format(
|
||||||
msg
|
msg
|
||||||
)
|
)
|
||||||
with pytest.raises(AssertionError, match=expr):
|
with pytest.raises(AssertionError, match=expr):
|
||||||
with pytest.raises(ValueError, match=msg):
|
with pytest.raises(ValueError, match=msg):
|
||||||
int("asdf", base=10)
|
int("asdf", base=10)
|
||||||
|
|
||||||
|
def test_match_failure_string_quoting(self):
|
||||||
|
with pytest.raises(AssertionError) as excinfo:
|
||||||
|
with pytest.raises(AssertionError, match="'foo"):
|
||||||
|
raise AssertionError("'bar")
|
||||||
|
msg, = excinfo.value.args
|
||||||
|
assert msg == 'Pattern "\'foo" not found in "\'bar"'
|
||||||
|
|
||||||
def test_raises_match_wrong_type(self):
|
def test_raises_match_wrong_type(self):
|
||||||
"""Raising an exception with the wrong type and match= given.
|
"""Raising an exception with the wrong type and match= given.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue