Skip to content

Commit

Permalink
bug fix
Browse files Browse the repository at this point in the history
implement @bluetech changes

implement code review changes
  • Loading branch information
reaganjlee committed Feb 8, 2024
1 parent 5feabaa commit 497ffc5
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
1 change: 1 addition & 0 deletions changelog/11906.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix regression with :func:`pytest.warns` using custom warning subclasses which have more than one parameter in their `__init__`.
8 changes: 4 additions & 4 deletions src/_pytest/recwarn.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,10 +322,10 @@ def found_str():
for w in self:
if not self.matches(w):
warnings.warn_explicit(
str(w.message),
w.message.__class__, # type: ignore[arg-type]
w.filename,
w.lineno,
message=w.message,
category=w.category,
filename=w.filename,
lineno=w.lineno,
module=w.__module__,
source=w.source,
)
Expand Down
2 changes: 2 additions & 0 deletions testing/test_recwarn.py
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,8 @@ def test_catch_warning_within_raise(self) -> None:
raise ValueError("some exception")

def test_multiple_arg_custom_warning(self) -> None:
"""Test for issue #11906."""

class CustomWarning(UserWarning):
def __init__(self, a, b):
pass
Expand Down

0 comments on commit 497ffc5

Please sign in to comment.