From: Benjamin Peterson Date: Tue, 30 Jan 2018 06:02:09 +0000 (-0800) Subject: [3.6] replace dynamic import with 'exec' with importlib.import_module (GH-5433) ... X-Git-Tag: v3.6.5rc1~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=88fa79a10a340439ed021fbc4988b6f3e73b2391;p=thirdparty%2FPython%2Fcpython.git [3.6] replace dynamic import with 'exec' with importlib.import_module (GH-5433) (GH-5440) (cherry picked from commit 77526f05fa788d6fb12f2121fe6b96c130d9b717) --- diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py index 981748892efb..28613496d111 100644 --- a/Lib/test/test_hashlib.py +++ b/Lib/test/test_hashlib.py @@ -9,6 +9,7 @@ import array from binascii import unhexlify import hashlib +import importlib import itertools import os import sys @@ -86,11 +87,11 @@ class HashLibTestCase(unittest.TestCase): def _conditional_import_module(self, module_name): """Import a module and return a reference to it or None on failure.""" try: - exec('import '+module_name) - except ImportError as error: + return importlib.import_module(module_name) + except ModuleNotFoundError as error: if self._warn_on_extension_import: warnings.warn('Did a C extension fail to compile? %s' % error) - return locals().get(module_name) + return None def __init__(self, *args, **kwargs): algorithms = set()