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): | |||
229 | 'kvm' : kvm, | 229 | 'kvm' : kvm, |
230 | } | 230 | } |
231 | 231 | ||
232 | # TODO: Currently BBPATH is needed for custom loading of targets. | ||
233 | # It would be better to find these modules using instrospection. | ||
234 | target_kwargs['target_modules_path'] = d.getVar('BBPATH') | ||
235 | |||
232 | # runtime use network for download projects for build | 236 | # runtime use network for download projects for build |
233 | export_proxies(d) | 237 | export_proxies(d) |
234 | 238 | ||
@@ -239,7 +243,7 @@ def testimage_main(d): | |||
239 | 243 | ||
240 | # the robot dance | 244 | # the robot dance |
241 | target = OERuntimeTestContextExecutor.getTarget( | 245 | target = OERuntimeTestContextExecutor.getTarget( |
242 | d.getVar("TEST_TARGET"), d.getVar("BBPATH"), None, d.getVar("TEST_TARGET_IP"), | 246 | d.getVar("TEST_TARGET"), None, d.getVar("TEST_TARGET_IP"), |
243 | d.getVar("TEST_SERVER_IP"), **target_kwargs) | 247 | d.getVar("TEST_SERVER_IP"), **target_kwargs) |
244 | 248 | ||
245 | # test context | 249 | # 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): | |||
15 | def __init__(self, logger, ip, server_ip, timeout=300, user='root', | 15 | def __init__(self, logger, ip, server_ip, timeout=300, user='root', |
16 | port=None, machine='', rootfs='', kernel='', kvm=False, | 16 | port=None, machine='', rootfs='', kernel='', kvm=False, |
17 | dump_dir='', dump_host_cmds='', display='', bootlog='', | 17 | dump_dir='', dump_host_cmds='', display='', bootlog='', |
18 | tmpdir='', dir_image='', boottime=60): | 18 | tmpdir='', dir_image='', boottime=60, **kwargs): |
19 | 19 | ||
20 | super(OEQemuTarget, self).__init__(logger, ip, server_ip, timeout, | 20 | super(OEQemuTarget, self).__init__(logger, ip, server_ip, timeout, |
21 | user, port) | 21 | 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): | |||
89 | help="Qemu boot configuration, only needed when target_type is QEMU.") | 89 | help="Qemu boot configuration, only needed when target_type is QEMU.") |
90 | 90 | ||
91 | @staticmethod | 91 | @staticmethod |
92 | def getTarget(target_type, target_modules_path, logger, target_ip, server_ip, **kwargs): | 92 | def getTarget(target_type, logger, target_ip, server_ip, **kwargs): |
93 | target = None | 93 | target = None |
94 | 94 | ||
95 | if target_type == 'simpleremote': | 95 | if target_type == 'simpleremote': |
@@ -97,8 +97,17 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): | |||
97 | elif target_type == 'qemu': | 97 | elif target_type == 'qemu': |
98 | target = OEQemuTarget(logger, target_ip, server_ip, **kwargs) | 98 | target = OEQemuTarget(logger, target_ip, server_ip, **kwargs) |
99 | else: | 99 | else: |
100 | # XXX: This code uses the old naming convention for controllers and | ||
101 | # targets, the idea it is to leave just targets as the controller | ||
102 | # most of the time was just a wrapper. | ||
103 | # XXX: This code tries to import modules from lib/oeqa/controllers | ||
104 | # directory and treat them as controllers, it will less error prone | ||
105 | # to use introspection to load such modules. | ||
106 | # XXX: Don't base your targets on this code it will be refactored | ||
107 | # in the near future. | ||
100 | # Custom target module loading | 108 | # Custom target module loading |
101 | try: | 109 | try: |
110 | target_modules_path = kwargs.get('target_modules_path', '') | ||
102 | controller = OERuntimeTestContextExecutor.getControllerModule(target_type, target_modules_path) | 111 | controller = OERuntimeTestContextExecutor.getControllerModule(target_type, target_modules_path) |
103 | target = controller(logger, target_ip, server_ip, **kwargs) | 112 | target = controller(logger, target_ip, server_ip, **kwargs) |
104 | except ImportError as e: | 113 | except ImportError as e: |