Skip to content

Commit a6a6ac0

Browse files
authored
better warning filter for assert_* (#6212)
* better warning filter for assert_* * better comments * fix comment
1 parent 3c4a00c commit a6a6ac0

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

xarray/testing.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ def wrapper(*args, **kwargs):
3030
__tracebackhide__ = True
3131

3232
with warnings.catch_warnings():
33-
warnings.simplefilter("always")
33+
# only remove filters that would "error"
34+
warnings.filters = [f for f in warnings.filters if f[0] != "error"]
3435

3536
return func(*args, **kwargs)
3637

xarray/tests/test_testing.py

+13
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,16 @@ def __array__(self):
164164
getattr(xr.testing, func)(a, b)
165165

166166
assert len(w) > 0
167+
168+
# ensure warnings still raise outside of assert_*
169+
with pytest.raises(UserWarning):
170+
warnings.warn("test")
171+
172+
# ensure warnings stay ignored in assert_*
173+
with warnings.catch_warnings(record=True) as w:
174+
# ignore warnings
175+
warnings.filterwarnings("ignore")
176+
with pytest.raises(AssertionError):
177+
getattr(xr.testing, func)(a, b)
178+
179+
assert len(w) == 0

0 commit comments

Comments
 (0)