aboutsummaryrefslogtreecommitdiffstats
path: root/meta-yocto-bsp
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-07-28 11:19:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-28 11:26:10 +0100
commit5e357ed88f40e471f7e3b7ea3d697410a9cb980b (patch)
tree00b14bde71e06af257d2873e098fc8b029f11ee3 /meta-yocto-bsp
parent1b88b7426a3c5e3b4427501e67df141b0ee17934 (diff)
downloadopenembedded-core-contrib-5e357ed88f40e471f7e3b7ea3d697410a9cb980b.tar.gz
oe-selftest: restore gummiboot tests
These are the gummiboot tests recently removed from OE-Core, with the following changes: * Make them use MACHINE = "genericx86-64" instead of "nuc" and remove all usage of meta-intel * Use DEPLOY_DIR instead of assuming build directory will be in the default path relative to COREBASE * Fix build test to actually check if the file was created as part of the test instead of possibly being around from a previous build * Fix wic test to actually check the output to find the name of the .direct file that wic has created, instead of passing if any .direct file happens to exist in /var/tmp/wic (We can now add these in this layer courtesy of Chris Larson's OE-Core commit 182b8ed9f26ed8b6a8eb6dcaec82db9aca14b010). (From meta-yocto rev: 8e945e39327869c6b53959c5eb324ba3e4cb0b20) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta-yocto-bsp')
-rw-r--r--meta-yocto-bsp/lib/oeqa/selftest/__init__.py0
-rw-r--r--meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py83
2 files changed, 83 insertions, 0 deletions
diff --git a/meta-yocto-bsp/lib/oeqa/selftest/__init__.py b/meta-yocto-bsp/lib/oeqa/selftest/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta-yocto-bsp/lib/oeqa/selftest/__init__.py
diff --git a/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py b/meta-yocto-bsp/lib/oeqa/selftest/gummiboot.py
new file mode 100644
index 0000000000..00aa36f60d
--- /dev/null
+++ b/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)