From: Benjamin Peterson Date: Tue, 30 Jan 2018 02:03:01 +0000 (-0800) Subject: replace dynamic import with 'exec' with importlib.import_module (#5433) X-Git-Tag: v3.7.0b1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77526f05fa788d6fb12f2121fe6b96c130d9b717;p=python replace dynamic import with 'exec' with importlib.import_module (#5433) --- diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py index e4e5280dc8..15fc22b02d 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 @@ -83,11 +84,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()