diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2017-03-28 10:02:18 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-28 10:34:37 +0100 |
commit | 9a94208600fbc852304cd99e2d1fa787caf9b0fa (patch) | |
tree | cb6c75e1cbbae98978a9bf81862edf1be8cc4965 /meta/lib/oeqa/utils/commands.py | |
parent | 41b67f1176fd923ff7d61f63a95325a1482bf579 (diff) | |
download | poky-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/oeqa/utils/commands.py')
-rw-r--r-- | meta/lib/oeqa/utils/commands.py | 4 |
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 |
228 | def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemuparams=None): | 228 | def 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, |