Context manager to silence warnings. Accept 2-tuples as positional arguments: ("message regexp", WarningCategory) Optional argument: - if 'quiet' is True, it does not fail if a filter catches nothing (default True without argument, default False if some filter
(*filters, **kwargs)
| 83 | |
| 84 | @contextlib.contextmanager |
| 85 | def check_warnings(*filters, **kwargs): |
| 86 | """Context manager to silence warnings. |
| 87 | |
| 88 | Accept 2-tuples as positional arguments: |
| 89 | ("message regexp", WarningCategory) |
| 90 | |
| 91 | Optional argument: |
| 92 | - if 'quiet' is True, it does not fail if a filter catches nothing |
| 93 | (default True without argument, |
| 94 | default False if some filters are defined) |
| 95 | |
| 96 | Without argument, it defaults to: |
| 97 | check_warnings(("", Warning), quiet=True) |
| 98 | """ |
| 99 | quiet = kwargs.get('quiet') |
| 100 | if not filters: |
| 101 | filters = (("", Warning),) |
| 102 | # Preserve backward compatibility |
| 103 | if quiet is None: |
| 104 | quiet = True |
| 105 | return _filterwarnings(filters, quiet) |
| 106 | |
| 107 | |
| 108 | @contextlib.contextmanager |