diff options
author | Ćukasz Langa <lukasz@langa.pl> | 2021-08-18 11:19:30 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-18 11:19:30 (GMT) |
commit | 8cf07d3db3eed02b43350a5f9dbf68f1c839ea82 (patch) | |
tree | c5c4721f01da3171db197c69e25030720e6541cd /Lib/test/support | |
parent | 3240bc62f4e0afa09964f3afc845697f0a0806b9 (diff) | |
download | cpython-8cf07d3db3eed02b43350a5f9dbf68f1c839ea82.zip cpython-8cf07d3db3eed02b43350a5f9dbf68f1c839ea82.tar.gz cpython-8cf07d3db3eed02b43350a5f9dbf68f1c839ea82.tar.bz2 |
bpo-44852: Support filtering over warnings without a set message (GH-27793)
Additional improvements:
- messages which were compiled regular expressions aren't unpacked back into
strings for unmatched warnings;
- removed unnecessary "if tokens:" check (there's one before the for loop);
- took `endswith` calculation out of the for loop.
Diffstat (limited to 'Lib/test/support')
-rw-r--r-- | Lib/test/support/__init__.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index c89901e..a86bfca 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -2070,13 +2070,14 @@ def clear_ignored_deprecations(*tokens: object) -> None: raise ValueError("Provide token or tokens returned by ignore_deprecations_from") new_filters = [] + endswith = tuple(rf"(?#support{id(token)})" for token in tokens) for action, message, category, module, lineno in warnings.filters: if action == "ignore" and category is DeprecationWarning: if isinstance(message, re.Pattern): - message = message.pattern - if tokens: - endswith = tuple(rf"(?#support{id(token)})" for token in tokens) - if message.endswith(endswith): + msg = message.pattern + else: + msg = message or "" + if msg.endswith(endswith): continue new_filters.append((action, message, category, module, lineno)) if warnings.filters != new_filters: |