diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2015-09-15 22:41:29 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2015-09-15 22:41:29 +0300 |
commit | 21f9b84b4b729fbd7acbd465e7a3f726e4d20f91 (patch) | |
tree | eb2d091d427ca0813b445509d59cc8e27e8ad25f /yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py | |
parent | 101cef31e2bf54c678501155cd2106251acbd076 (diff) | |
parent | c124f4f2e04dca16a428a76c89677328bc7bf908 (diff) | |
download | openbmc-21f9b84b4b729fbd7acbd465e7a3f726e4d20f91.tar.xz |
Merge commit 'c124f4f2e04dca16a428a76c89677328bc7bf908' as 'yocto-poky'
Diffstat (limited to 'yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py')
-rw-r--r-- | yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py b/yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py new file mode 100644 index 000000000..00aa36f60 --- /dev/null +++ b/yocto-poky/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py @@ -0,0 +1,83 @@ +from oeqa.selftest.base import oeSelfTest +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu +from oeqa.utils.decorators import testcase +import re +import os +import sys +import logging + + +class Gummiboot(oeSelfTest): + + def _common_setup(self): + """ + Common setup for test cases: 1101, 1103 + """ + + # Set EFI_PROVIDER = "gummiboot" and MACHINE = "genericx86-64" in conf/local.conf + features = 'EFI_PROVIDER = "gummiboot"\n' + features += 'MACHINE = "genericx86-64"' + self.append_config(features) + + def _common_build(self): + """ + Common build for test cases: 1101, 1103 + """ + + # Build a genericx86-64/efi gummiboot image + bitbake('syslinux syslinux-native parted-native dosfstools-native mtools-native core-image-minimal') + + + @testcase(1101) + def test_efi_gummiboot_images_can_be_built(self): + """ + Summary: Check if efi/gummiboot images can be built + Expected: 1. File gummibootx64.efi should be available in build/tmp/deploy/images/genericx86-64 + 2. Efi/gummiboot images can be built + Product: oe-core + Author: Ionut Chisanovici <ionutx.chisanovici@intel.com> + AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com> + """ + + # We'd use DEPLOY_DIR_IMAGE here, except that we need its value for + # MACHINE="genericx86-64 which is probably not the one configured + gummibootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64', 'gummibootx64.efi') + + self._common_setup() + + # Ensure we're actually testing that this gets built and not that + # it was around from an earlier build + bitbake('-c cleansstate gummiboot') + runCmd('rm -f %s' % gummibootfile) + + self._common_build() + + found = os.path.isfile(gummibootfile) + self.assertTrue(found, 'Gummiboot file %s not found' % gummibootfile) + + @testcase(1103) + def test_wic_command_can_create_efi_gummiboot_installation_images(self): + """ + Summary: Check that wic command can create efi/gummiboot installation images + Expected: A .direct file in folder /var/tmp/wic/ must be created. + Product: oe-core + Author: Ionut Chisanovici <ionutx.chisanovici@intel.com> + AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com> + """ + + self._common_setup() + self._common_build() + + # Create efi/gummiboot installation images + wic_create_cmd = 'wic create mkgummidisk -e core-image-minimal' + result = runCmd(wic_create_cmd) + + # Find file written by wic from output + res = re.search('(/var/tmp/wic/.*\.direct)', result.output) + if res: + direct_file = res.group(1) + # Check it actually exists + if not os.path.exists(direct_file): + self.fail('wic reported direct file "%s" does not exist; wic output:\n%s' % (direct_file, result.output)) + else: + self.fail('No .direct file reported in wic output:\n%s' % result.output) |