html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/pull/6251#issuecomment-1033137904,https://api.github.com/repos/pydata/xarray/issues/6251,1033137904,IC_kwDOAMm_X849lG7w,10194086,2022-02-08T22:46:00Z,2022-02-08T22:46:00Z,MEMBER,"Nice suggestion. How about `assert_no_warnings`? Not sure if `supress_warnings` is a bit over the top? ```python from contextlib import contextmanager import warnings @contextmanager def assert_no_warnings(): with warnings.catch_warnings(record=True) as record: yield assert len(record) == 0, ""got unexpected warning(s)"" @contextmanager def supress_warnings(*messages): messages = ("""",) if not messages else messages with warnings.catch_warnings(): for message in messages: warnings.filterwarnings(""ignore"", message) yield ``` ```python with supress_warnings(): warnings.warn(""test"") with supress_warnings(""test""): warnings.warn(""test"") with supress_warnings(""not test"", ""something else""): warnings.warn(""test"") with assert_no_warnings(): pass with assert_no_warnings(): warnings.warn(""test"") ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1126086052 https://github.com/pydata/xarray/pull/6251#issuecomment-1033105848,https://api.github.com/repos/pydata/xarray/issues/6251,1033105848,IC_kwDOAMm_X849k_G4,14808389,2022-02-08T22:02:29Z,2022-02-08T22:02:29Z,MEMBER,"what do you think about adding `no_warnings()` and `suppress_warnings()` to `xarray.tests.__init__`? For those `pytest` [recommends](https://docs.pytest.org/en/7.0.x/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests) ```python # no_warnings with warnings.catch_warnings(): warnings.simplefilter(""error"") ... # or, without the stacktrace with warnings.catch_warnings(record=True) as record: ... assert len(record) == 0 # or, with `pytest.warns()` with pytest.warns() as record: ... assert len(record) == 0 # suppress with warnings.catch_warnings(): warnings.simplefilter(""ignore"") ... ``` but those can easily get a name and be a bit easier to read. E.g. for the version of `no_warnings()` used in this PR: ```python @contextmanager def no_warnings(): with warnings.catch_warnings(record=True) as record: yield assert len(record) == 0 ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1126086052 https://github.com/pydata/xarray/pull/6251#issuecomment-1033100203,https://api.github.com/repos/pydata/xarray/issues/6251,1033100203,IC_kwDOAMm_X849k9ur,5635139,2022-02-08T21:55:45Z,2022-02-08T21:55:45Z,MEMBER,Thanks @mathause ! LGTM,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1126086052 https://github.com/pydata/xarray/pull/6251#issuecomment-1033075245,https://api.github.com/repos/pydata/xarray/issues/6251,1033075245,IC_kwDOAMm_X849k3ot,10194086,2022-02-08T21:23:21Z,2022-02-08T21:23:21Z,MEMBER,close/ reopen,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1126086052