aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-11-17 15:44:44 +0200
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>2018-04-16 09:54:20 +0300
commitf233e96eaf55f48608ab857e01fe5a7b0332e86b (patch)
treea93bb710d550a76ce234c6a67e6e9cb77b767140
parentc7de84df000dfbdad7ec6169a9554fc8eb6fd9bf (diff)
downloadopenembedded-core-contrib-f233e96eaf55f48608ab857e01fe5a7b0332e86b.tar.gz
oeqa/targetcontrol: re-introduce get_target_controller()
This function was dropped in f352ef37a27cb0871c87cf9991d8ad2e1d560fde as unused, but, python-pgo-image needs it for running profile task on target hw. [YOCTO #9338] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
-rw-r--r--meta/lib/oeqa/targetcontrol.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 59a9c35a09..46442a8801 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -18,6 +18,31 @@ from oeqa.utils.dump import TargetDumper
from oeqa.controllers.testtargetloader import TestTargetLoader
from abc import ABCMeta, abstractmethod
+def get_target_controller(d, logger):
+ testtarget = d.getVar("TEST_TARGET")
+ # old, simple names
+ if testtarget == "qemu":
+ return QemuTarget(d, logger)
+ elif testtarget == "simpleremote":
+ return SimpleRemoteTarget(d, logger)
+ else:
+ # use the class name
+ try:
+ # is it a core class defined here?
+ controller = getattr(sys.modules[__name__], testtarget)
+ except AttributeError:
+ # nope, perhaps a layer defined one
+ try:
+ bbpath = d.getVar("BBPATH").split(':')
+ testtargetloader = TestTargetLoader()
+ controller = testtargetloader.get_controller_module(testtarget, bbpath)
+ except ImportError as e:
+ bb.fatal("Failed to import {0} from available controller modules:\n{1}".format(testtarget,traceback.format_exc()))
+ except AttributeError as e:
+ bb.fatal("Invalid TEST_TARGET - " + str(e))
+ return controller(d, logger)
+
+
class BaseTarget(object, metaclass=ABCMeta):
supported_image_fstypes = []