add test
This commit is contained in:
parent
9454fc38d3
commit
5feabaab41
|
@ -479,28 +479,13 @@ class TestWarns:
|
||||||
warnings.warn("some warning", category=FutureWarning)
|
warnings.warn("some warning", category=FutureWarning)
|
||||||
raise ValueError("some exception")
|
raise ValueError("some exception")
|
||||||
|
|
||||||
|
def test_multiple_arg_custom_warning(self) -> None:
|
||||||
|
class CustomWarning(UserWarning):
|
||||||
|
def __init__(self, a, b):
|
||||||
|
pass
|
||||||
|
|
||||||
def test_raise_type_error_on_non_string_warning() -> None:
|
with pytest.warns(CustomWarning):
|
||||||
"""Check pytest.warns validates warning messages are strings (#10865)."""
|
with pytest.raises(pytest.fail.Exception, match="DID NOT WARN"):
|
||||||
with pytest.raises(TypeError, match="Warning message must be str"):
|
with pytest.warns(CustomWarning, match="not gonna match"):
|
||||||
with pytest.warns(UserWarning):
|
a, b = 1, 2
|
||||||
warnings.warn(1) # type: ignore
|
warnings.warn(CustomWarning(a, b))
|
||||||
|
|
||||||
|
|
||||||
def test_no_raise_type_error_on_string_warning() -> None:
|
|
||||||
"""Check pytest.warns validates warning messages are strings (#10865)."""
|
|
||||||
with pytest.warns(UserWarning):
|
|
||||||
warnings.warn("Warning")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(
|
|
||||||
hasattr(sys, "pypy_version_info"),
|
|
||||||
reason="Not for pypy",
|
|
||||||
)
|
|
||||||
def test_raise_type_error_on_non_string_warning_cpython() -> None:
|
|
||||||
# Check that we get the same behavior with the stdlib, at least if filtering
|
|
||||||
# (see https://github.com/python/cpython/issues/103577 for details)
|
|
||||||
with pytest.raises(TypeError):
|
|
||||||
with warnings.catch_warnings():
|
|
||||||
warnings.filterwarnings("ignore", "test")
|
|
||||||
warnings.warn(1) # type: ignore
|
|
||||||
|
|
Loading…
Reference in New Issue