diff options
-rw-r--r-- | meta/classes/testimage.bbclass | 6 | ||||
-rw-r--r-- | meta/lib/oeqa/core/target/qemu.py | 2 | ||||
-rw-r--r-- | meta/lib/oeqa/runtime/context.py | 11 |
3 files changed, 16 insertions, 3 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 09cc6d2a21..82557a8ede 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -229,6 +229,10 @@ def testimage_main(d): 'kvm' : kvm, } + # TODO: Currently BBPATH is needed for custom loading of targets. + # It would be better to find these modules using instrospection. + target_kwargs['target_modules_path'] = d.getVar('BBPATH') + # runtime use network for download projects for build export_proxies(d) @@ -239,7 +243,7 @@ def testimage_main(d): # the robot dance target = OERuntimeTestContextExecutor.getTarget( - d.getVar("TEST_TARGET"), d.getVar("BBPATH"), None, d.getVar("TEST_TARGET_IP"), + d.getVar("TEST_TARGET"), None, d.getVar("TEST_TARGET_IP"), d.getVar("TEST_SERVER_IP"), **target_kwargs) # test context diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py index 9d3f68cb64..2dc521c216 100644 --- a/meta/lib/oeqa/core/target/qemu.py +++ b/meta/lib/oeqa/core/target/qemu.py @@ -15,7 +15,7 @@ class OEQemuTarget(OESSHTarget): def __init__(self, logger, ip, server_ip, timeout=300, user='root', port=None, machine='', rootfs='', kernel='', kvm=False, dump_dir='', dump_host_cmds='', display='', bootlog='', - tmpdir='', dir_image='', boottime=60): + tmpdir='', dir_image='', boottime=60, **kwargs): super(OEQemuTarget, self).__init__(logger, ip, server_ip, timeout, user, port) diff --git a/meta/lib/oeqa/runtime/context.py b/meta/lib/oeqa/runtime/context.py index ea1b4a643e..c4cd76cf44 100644 --- a/meta/lib/oeqa/runtime/context.py +++ b/meta/lib/oeqa/runtime/context.py @@ -89,7 +89,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): help="Qemu boot configuration, only needed when target_type is QEMU.") @staticmethod - def getTarget(target_type, target_modules_path, logger, target_ip, server_ip, **kwargs): + def getTarget(target_type, logger, target_ip, server_ip, **kwargs): target = None if target_type == 'simpleremote': @@ -97,8 +97,17 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): elif target_type == 'qemu': target = OEQemuTarget(logger, target_ip, server_ip, **kwargs) else: + # XXX: This code uses the old naming convention for controllers and + # targets, the idea it is to leave just targets as the controller + # most of the time was just a wrapper. + # XXX: This code tries to import modules from lib/oeqa/controllers + # directory and treat them as controllers, it will less error prone + # to use introspection to load such modules. + # XXX: Don't base your targets on this code it will be refactored + # in the near future. # Custom target module loading try: + target_modules_path = kwargs.get('target_modules_path', '') controller = OERuntimeTestContextExecutor.getControllerModule(target_type, target_modules_path) target = controller(logger, target_ip, server_ip, **kwargs) except ImportError as e: |