summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2019-01-23 17:17:40 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-01-26 13:39:37 +0000
commitf7718fa8ae8ead3c6fdfc1da58a2f9b9c719699f (patch)
tree5cd3076a4ce5a60ce222de4d2f6fbf787e0fed71 /meta
parent7ea988887c577aa6c62bdada8db7218d852d9edd (diff)
downloadpoky-f7718fa8ae8ead3c6fdfc1da58a2f9b9c719699f.tar.gz
testimage.bbclass: add support for passing runqemu params
This is particularly useful when setting up GL tests. (From OE-Core rev: 167a46775059b782c6f82ce8c5a47b27262e95d4) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/testimage.bbclass4
-rw-r--r--meta/lib/oeqa/core/target/qemu.py4
2 files changed, 5 insertions, 3 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index cb8c12acce..ff1c53b93e 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -32,6 +32,7 @@ TESTIMAGE_AUTO ??= "0"
32# Booting is handled by this class, and it's not a test in itself. 32# Booting is handled by this class, and it's not a test in itself.
33# TEST_QEMUBOOT_TIMEOUT can be used to set the maximum time in seconds the launch code will wait for the login prompt. 33# TEST_QEMUBOOT_TIMEOUT can be used to set the maximum time in seconds the launch code will wait for the login prompt.
34# TEST_QEMUPARAMS can be used to pass extra parameters to qemu, e.g. "-m 1024" for setting the amount of ram to 1 GB. 34# TEST_QEMUPARAMS can be used to pass extra parameters to qemu, e.g. "-m 1024" for setting the amount of ram to 1 GB.
35# TEST_RUNQEMUPARAMS can be used to pass extra parameters to runqemu, e.g. "gl" to enable OpenGL acceleration.
35 36
36TEST_LOG_DIR ?= "${WORKDIR}/testimage" 37TEST_LOG_DIR ?= "${WORKDIR}/testimage"
37 38
@@ -65,6 +66,7 @@ TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
65TEST_QEMUBOOT_TIMEOUT ?= "1000" 66TEST_QEMUBOOT_TIMEOUT ?= "1000"
66TEST_TARGET ?= "qemu" 67TEST_TARGET ?= "qemu"
67TEST_QEMUPARAMS ?= "" 68TEST_QEMUPARAMS ?= ""
69TEST_RUNQEMUPARAMS ?= ""
68 70
69TESTIMAGEDEPENDS = "" 71TESTIMAGEDEPENDS = ""
70TESTIMAGEDEPENDS_append_qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot" 72TESTIMAGEDEPENDS_append_qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot"
@@ -294,7 +296,7 @@ def testimage_main(d):
294 try: 296 try:
295 # We need to check if runqemu ends unexpectedly 297 # We need to check if runqemu ends unexpectedly
296 # or if the worker send us a SIGTERM 298 # or if the worker send us a SIGTERM
297 tc.target.start(params=d.getVar("TEST_QEMUPARAMS")) 299 tc.target.start(params=d.getVar("TEST_QEMUPARAMS"), runqemuparams=d.getVar("TEST_RUNQEMUPARAMS"))
298 results = tc.runTests() 300 results = tc.runTests()
299 except (RuntimeError, BlockingIOError) as err: 301 except (RuntimeError, BlockingIOError) as err:
300 if isinstance(err, RuntimeError): 302 if isinstance(err, RuntimeError):
diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py
index f47fd7468e..7a161a3231 100644
--- a/meta/lib/oeqa/core/target/qemu.py
+++ b/meta/lib/oeqa/core/target/qemu.py
@@ -33,11 +33,11 @@ class OEQemuTarget(OESSHTarget):
33 use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, 33 use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir,
34 dump_host_cmds=dump_host_cmds, logger=logger) 34 dump_host_cmds=dump_host_cmds, logger=logger)
35 35
36 def start(self, params=None, extra_bootparams=None): 36 def start(self, params=None, extra_bootparams=None, runqemuparams=''):
37 if self.use_slirp and not self.server_ip: 37 if self.use_slirp and not self.server_ip:
38 self.logger.error("Could not start qemu with slirp without server ip - provide 'TEST_SERVER_IP'") 38 self.logger.error("Could not start qemu with slirp without server ip - provide 'TEST_SERVER_IP'")
39 raise RuntimeError("FAILED to start qemu - check the task log and the boot log") 39 raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
40 if self.runner.start(params, extra_bootparams=extra_bootparams): 40 if self.runner.start(params, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams):
41 self.ip = self.runner.ip 41 self.ip = self.runner.ip
42 if self.use_slirp: 42 if self.use_slirp:
43 target_ip_port = self.runner.ip.split(':') 43 target_ip_port = self.runner.ip.split(':')