From af384220175dc548d8eb0b94209c49c937292d91 Mon Sep 17 00:00:00 2001 From: Corneliu Stoicescu Date: Fri, 6 Jun 2014 22:14:32 +0300 Subject: targetcontrol.py: make possible dynamical determination of rootfs type YB: #6375 Added a new method get_image_fstype() that autodetermines what fstype to use for the rootfs file. This method uses a new list variable 'supported_image_fstypes' that contains image fstypes supported by the target controller. This method is also a classmethod which means outside scripts can get the image fstype. (From OE-Core rev: 39d5aa5c9f2916700f81d15adc220a30c6b120d1) Signed-off-by: Corneliu Stoicescu Signed-off-by: Richard Purdie --- meta/lib/oeqa/targetcontrol.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py index ff1bb89176..866c414c1b 100644 --- a/meta/lib/oeqa/targetcontrol.py +++ b/meta/lib/oeqa/targetcontrol.py @@ -44,6 +44,8 @@ class BaseTarget(object): __metaclass__ = ABCMeta + supported_image_fstypes = [] + def __init__(self, d): self.connection = None self.ip = None @@ -70,6 +72,16 @@ class BaseTarget(object): def stop(self): pass + @classmethod + def get_image_fstype(self, d, image_fstypes=None): + if not image_fstypes: + image_fstypes = d.getVar('IMAGE_FSTYPES', True).split(' ') + possible_image_fstypes = [fstype for fstype in self.supported_image_fstypes if fstype in image_fstypes] + if possible_image_fstypes: + return possible_image_fstypes[0] + else: + bb.fatal("no possible image_fstype could not be determined. IMAGE_FSTYPES=\"%s\" and supported_image_fstypes=\"%s\": " % (', '.join(map(str, image_fstypes)), ', '.join(map(str, self.supported_image_fstypes)))) + def restart(self, params=None): self.stop() self.start(params) @@ -87,13 +99,16 @@ class BaseTarget(object): class QemuTarget(BaseTarget): + supported_image_fstypes = ['ext3'] + def __init__(self, d): super(QemuTarget, self).__init__(d) + self.image_fstype = self.get_image_fstype(d) self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) - self.origrootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.ext3') - self.rootfs = os.path.join(self.testdir, d.getVar("IMAGE_LINK_NAME", True) + '-testimage.ext3') + self.origrootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype) + self.rootfs = os.path.join(self.testdir, d.getVar("IMAGE_LINK_NAME", True) + '-testimage.' + self.image_fstype) self.runner = QemuRunner(machine=d.getVar("MACHINE", True), rootfs=self.rootfs, -- cgit v1.2.3-54-g00ecf