]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #28688: Remove warnings.filters check from regrtest
authorVictor Stinner <victor.stinner@gmail.com>
Mon, 21 Nov 2016 15:44:01 +0000 (16:44 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Mon, 21 Nov 2016 15:44:01 +0000 (16:44 +0100)
Reloading the warnings module duplicates filters in warnings.filters. Fixing
the issue is tricky. It was decided to simply remove the check from Python 3.5,
since the bug only impacts Python unit tests, not real applications.

The check is kept in Python 3.6 and newer.

Lib/test/regrtest.py

index db29efac0be0aca1805d4cd0fed97816a41acad8..6b7ce16c689e3861181ce5c47f4a817950aad7b9 100755 (executable)
@@ -1052,7 +1052,7 @@ class saved_test_environment:
 
     resources = ('sys.argv', 'cwd', 'sys.stdin', 'sys.stdout', 'sys.stderr',
                  'os.environ', 'sys.path', 'sys.path_hooks', '__import__',
-                 'warnings.filters', 'asyncore.socket_map',
+                 'asyncore.socket_map',
                  'logging._handlers', 'logging._handlerList', 'sys.gettrace',
                  'sys.warnoptions',
                  # multiprocessing.process._cleanup() may release ref
@@ -1118,12 +1118,6 @@ class saved_test_environment:
     def restore___import__(self, import_):
         builtins.__import__ = import_
 
-    def get_warnings_filters(self):
-        return id(warnings.filters), warnings.filters, warnings.filters[:]
-    def restore_warnings_filters(self, saved_filters):
-        warnings.filters = saved_filters[1]
-        warnings.filters[:] = saved_filters[2]
-
     def get_asyncore_socket_map(self):
         asyncore = sys.modules.get('asyncore')
         # XXX Making a copy keeps objects alive until __exit__ gets called.