[OE-core] [PATCHv2 5/5] imagefeatures: Add a test for various hypervisor formats
Tom Rini
trini at konsulko.com
Thu Jul 27 02:06:13 UTC 2017
We add a new test that will create core-image-minimal for wic.vmdk,
wic.vdi and wic.qcow2. We then confirm via qemu-img that the resulting
file is of the expected type.
Cc: Ed Bartosh <ed.bartosh at linux.intel.com>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
Changes in v2: New patch
---
meta/lib/oeqa/selftest/cases/imagefeatures.py | 35 +++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 2c59ef6490b3..bb2e0dba4c23 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -3,6 +3,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.sshcontrol import SSHControl
import os
+import json
class ImageFeatures(OESelftestTestCase):
@@ -130,6 +131,40 @@ class ImageFeatures(OESelftestTestCase):
# check if the resulting gzip is valid
self.assertTrue(runCmd('gzip -t %s' % gzip_path))
+ def test_hypervisor_fmts(self):
+ """
+ Summary: Check various hypervisor formats
+ Expected: 1. core-image-minimal can be built with vmdk, vdi and
+ qcow2 support.
+ 2. qemu-img says each image has the expected format
+ Product: oe-core
+ Author: Tom Rini <trini at konsulko.com>
+ """
+
+ img_types = [ 'vmdk', 'vdi', 'qcow2' ]
+ features = ""
+ for itype in img_types:
+ features += 'IMAGE_FSTYPES += "wic.%s"\n' % itype
+ self.write_config(features)
+
+ image_name = 'core-image-minimal'
+ bitbake(image_name)
+
+ deploy_dir_image = get_bb_var('DEPLOY_DIR_IMAGE')
+ link_name = get_bb_var('IMAGE_LINK_NAME', image_name)
+ for itype in img_types:
+ image_path = os.path.join(deploy_dir_image, "%s.wic.%s" %
+ (link_name, itype))
+
+ # check if result image file is in deploy directory
+ self.assertTrue(os.path.exists(image_path))
+
+ # check if result image is vmdk
+ sysroot = get_bb_var('STAGING_DIR_NATIVE', 'core-image-minimal')
+ result = runCmd('qemu-img info --output json %s' % image_path,
+ native_sysroot=sysroot)
+ self.assertTrue(json.loads(result.output).get('format') == itype)
+
def test_long_chain_conversion(self):
"""
Summary: Check for chaining many CONVERSION_CMDs together
--
1.9.1
More information about the Openembedded-core
mailing list