summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-03-28 10:02:18 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-28 10:34:37 +0100
commit9a94208600fbc852304cd99e2d1fa787caf9b0fa (patch)
treecb6c75e1cbbae98978a9bf81862edf1be8cc4965 /meta/lib
parent41b67f1176fd923ff7d61f63a95325a1482bf579 (diff)
downloadpoky-9a94208600fbc852304cd99e2d1fa787caf9b0fa.tar.gz
oeqa: allow customizing image used by runqemu()
runqemu() takes all parameters for the virtual machine from the variables of the given recipe. By allowing the caller to provide a hash with variables that get applied locally, the caller gets more control. Here's the intended usage: <prepare internal-image in self.resultdir> overrides = { 'DEPLOY_DIR_IMAGE': self.resultdir, 'IMAGE_LINK_NAME': 'internal-image-%s' % self.image_arch, } with runqemu('refkit-installer-image', ssh=False, overrides=overrides) as qemu: .... This can be used to replace the image completely with something else or to copy it before allowing runqemu() to write into it. (From OE-Core rev: 4c6ba32abd6b9de33f4b8a0b87e8a56432ed7825) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/utils/commands.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index 3dfff0f6d7..88c9bb15ed 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -225,7 +225,7 @@ def create_temp_layer(templayerdir, templayername, priority=999, recipepathspec=
225 225
226 226
227@contextlib.contextmanager 227@contextlib.contextmanager
228def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemuparams=None): 228def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemuparams=None, overrides={}):
229 """ 229 """
230 launch_cmd means directly run the command, don't need set rootfs or env vars. 230 launch_cmd means directly run the command, don't need set rootfs or env vars.
231 """ 231 """
@@ -247,6 +247,8 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
247 tinfoil.config_data.setVar("FIND_ROOTFS", '1') 247 tinfoil.config_data.setVar("FIND_ROOTFS", '1')
248 248
249 recipedata = tinfoil.parse_recipe(pn) 249 recipedata = tinfoil.parse_recipe(pn)
250 for key, value in overrides.items():
251 recipedata.setVar(key, value)
250 252
251 # The QemuRunner log is saved out, but we need to ensure it is at the right 253 # The QemuRunner log is saved out, but we need to ensure it is at the right
252 # log level (and then ensure that since it's a child of the BitBake logger, 254 # log level (and then ensure that since it's a child of the BitBake logger,