aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-06-17 18:07:13 +0200
committerGitHub <noreply@github.com>2020-06-17 18:07:13 +0200
commit8362893e3fe083df2ec8bb94c28b1a78383eadbf (patch)
treec485a614b45419ebbd2b648de6e8e2efa2279515 /Lib/distutils
parentbpo-36346: Make unicodeobject.h C89 compatible (GH-20934) (diff)
downloadcpython-8362893e3fe083df2ec8bb94c28b1a78383eadbf.tar.gz
cpython-8362893e3fe083df2ec8bb94c28b1a78383eadbf.tar.bz2
cpython-8362893e3fe083df2ec8bb94c28b1a78383eadbf.zip
bpo-41003: Fix test_copyreg when numpy is installed (GH-20935)
Fix test_copyreg when numpy is installed: test.pickletester now saves/restores warnings.filters when importing numpy, to ignore filters installed by numpy. Add the save_restore_warnings_filters() function to the test.support.warnings_helper module.
Diffstat (limited to 'Lib/distutils')
-rw-r--r--Lib/distutils/tests/__init__.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/Lib/distutils/tests/__init__.py b/Lib/distutils/tests/__init__.py
index 5d2e69e3e6a..16d011fd9ee 100644
--- a/Lib/distutils/tests/__init__.py
+++ b/Lib/distutils/tests/__init__.py
@@ -15,26 +15,25 @@ by import rather than matching pre-defined names.
import os
import sys
import unittest
-import warnings
from test.support import run_unittest
+from test.support.warnings_helper import save_restore_warnings_filters
here = os.path.dirname(__file__) or os.curdir
def test_suite():
- old_filters = warnings.filters[:]
suite = unittest.TestSuite()
for fn in os.listdir(here):
if fn.startswith("test") and fn.endswith(".py"):
modname = "distutils.tests." + fn[:-3]
- __import__(modname)
+ # bpo-40055: Save/restore warnings filters to leave them unchanged.
+ # Importing tests imports docutils which imports pkg_resources
+ # which adds a warnings filter.
+ with save_restore_warnings_filters():
+ __import__(modname)
module = sys.modules[modname]
suite.addTest(module.test_suite())
- # bpo-40055: Save/restore warnings filters to leave them unchanged.
- # Importing tests imports docutils which imports pkg_resources which adds a
- # warnings filter.
- warnings.filters[:] = old_filters
return suite