oeqa/runtime: load modules using importlib

Instead of using __import__() which is low-level and discouraged, use
importlib.

(From OE-Core rev: 9f501d22eab5dbd565f3f5783f4f484a6d1f70a2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2021-10-20 18:30:06 +01:00
committed by Richard Purdie
parent 676757f187
commit c7d6f9965e

View File

@@ -175,16 +175,12 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
# Search for and return a controller or None from given module name
@staticmethod
def _loadControllerFromModule(target, modulename):
obj = None
# import module, allowing it to raise import exception
module = __import__(modulename, globals(), locals(), [target])
# look for target class in the module, catching any exceptions as it
# is valid that a module may not have the target class.
try:
obj = getattr(module, target)
except:
obj = None
return obj
import importlib
module = importlib.import_module(modulename)
return getattr(module, target)
except AttributeError:
return None
@staticmethod
def readPackagesManifest(manifest):