From 03a5e65cdd702e942c0a10097e00b8e58628fea8 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Wed, 20 Oct 2021 18:30:06 +0100 Subject: oeqa/runtime: load modules using importlib Instead of using __import__() which is low-level and discouraged, use importlib. (From OE-Core rev: d187bedad37eb4d75c84144148ac58b146ddba9e) Signed-off-by: Ross Burton Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie (cherry picked from commit 9f501d22eab5dbd565f3f5783f4f484a6d1f70a2) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/lib/oeqa/runtime/context.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/meta/lib/oeqa/runtime/context.py b/meta/lib/oeqa/runtime/context.py index 3826f27642..7908ce1fd4 100644 --- a/meta/lib/oeqa/runtime/context.py +++ b/meta/lib/oeqa/runtime/context.py @@ -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): -- cgit v1.2.3-54-g00ecf