summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-02 08:28:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-07 12:08:28 +0100
commit1b46e2c1acd2c0cd557740220bbc3ccb77dae127 (patch)
treeb8646b4cc8d23397955b547550921620eb2032f7
parent0b78254b373c23f2c1a2bf7db0108a350266ab85 (diff)
downloadopenembedded-core-contrib-1b46e2c1acd2c0cd557740220bbc3ccb77dae127.tar.gz
openembedded-core-contrib-1b46e2c1acd2c0cd557740220bbc3ccb77dae127.tar.bz2
openembedded-core-contrib-1b46e2c1acd2c0cd557740220bbc3ccb77dae127.zip
oeqa/systemdboot: Cleanup/improve the test
The second test is designed only to run after the first so we may as well merge these together into one. Also, use DEPLOY_DIR_IMAGE rather than constructing paths by hand. Drop the misleading comment which was likely due to the original code reading DEPLOY_DIR_IMAGE before setting MACHINE. Only read the variable once which reduces bitbake -e calls. Merge the setup/build functions into the main test as there is no other use of them. Also ensure the main second test pieces aren't masked out by a missing file without showing test failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py61
1 files changed, 18 insertions, 43 deletions
diff --git a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
index 26c775c09e..dfd739ae77 100644
--- a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
+++ b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
@@ -6,26 +6,9 @@ from oeqa.core.decorator.depends import OETestDepends
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
class Systemdboot(OESelftestTestCase):
- def _common_setup(self):
- """
- Common setup for test cases: 1445, 1528
- """
-
- # Set EFI_PROVIDER = "systemdboot" and MACHINE = "genericx86-64" in conf/local.conf
- features = 'EFI_PROVIDER = "systemd-boot"\n'
- features += 'MACHINE = "genericx86-64"'
- self.append_config(features)
-
- def _common_build(self):
- """
- Common build for test cases: 1445 , 1528
- """
-
- # Build a genericx86-64/efi systemdboot image
- bitbake('mtools-native core-image-minimal')
-
@OETestID(1445)
+ @OETestID(1528)
def test_efi_systemdboot_images_can_be_built(self):
"""
Summary: Check if systemd-boot images can be built correctly
@@ -36,26 +19,25 @@ class Systemdboot(OESelftestTestCase):
AutomatedBy: Jose Perez Carranza <jose.perez.carranza@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
- systemdbootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64', 'systemd-bootx64.efi')
+ # Set EFI_PROVIDER = "systemdboot" and MACHINE = "genericx86-64" in conf/local.conf
+ features = 'EFI_PROVIDER = "systemd-boot"\n'
+ features += 'MACHINE = "genericx86-64"'
+ self.append_config(features)
- self._common_setup()
+ deploydir = get_bb_var('DEPLOY_DIR_IMAGE', "core-image-minimal")
+ systemdbootfile = os.path.join(deploydir, 'systemd-bootx64.efi')
# Ensure we're actually testing that this gets built and not that
# it was around from an earlier build
bitbake('-c clean systemd-boot')
runCmd('rm -f %s' % systemdbootfile)
- self._common_build()
+ # Build a genericx86-64/efi systemdboot image
+ bitbake('mtools-native core-image-minimal')
found = os.path.isfile(systemdbootfile)
self.assertTrue(found, 'Systemd-Boot file %s not found' % systemdbootfile)
- @OETestID(1528)
- @OETestDepends(['systemd_boot.Systemdboot.test_efi_systemdboot_images_can_be_built'])
- def test_image_efi_file(self):
-
"""
Summary: Check if EFI bootloader for systemd is correctly build
Dependencies: Image was built correctly on testcase 1445
@@ -71,28 +53,21 @@ class Systemdboot(OESelftestTestCase):
AutomatedBy: Jose Perez Carranza <jose.perez.carranza at linux-intel.com>
"""
- systemdbootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64',
- 'systemd-bootx64.efi')
- systemdbootimage = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64',
- 'core-image-minimal-genericx86-64.hddimg')
- imagebootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64',
- 'bootx64.efi')
- mcopynative = os.path.join(get_bb_var('STAGING_BINDIR_NATIVE'), 'mcopy')
+ systemdbootimage = os.path.join(deploydir, 'core-image-minimal-genericx86-64.hddimg')
+ imagebootfile = os.path.join(deploydir, 'bootx64.efi')
+ mcopynative = os.path.join(get_bb_var('STAGING_BINDIR_NATIVE', "core-image-minimal"), 'mcopy')
- #Clean environment before start the test
+ # Clean environment before start the test
if os.path.isfile(imagebootfile):
runCmd('rm -f %s' % imagebootfile)
- #Step 1
- runCmd('%s -i %s ::EFI/BOOT/bootx64.efi %s' % (mcopynative ,systemdbootimage,
+ runCmd('%s -i %s ::EFI/BOOT/bootx64.efi %s' % (mcopynative ,systemdbootimage,
imagebootfile))
- #Step 2
- found = os.path.isfile(imagebootfile)
- self.assertTrue(found, 'bootx64.efi file %s was not copied from image'
+ found = os.path.isfile(imagebootfile)
+ self.assertTrue(found, 'bootx64.efi file %s was not copied from image'
% imagebootfile)
- #Step 3
- result = runCmd('md5sum %s %s' % (systemdbootfile, imagebootfile))
- self.assertEqual(result.output.split()[0], result.output.split()[2],
+ result = runCmd('md5sum %s %s' % (systemdbootfile, imagebootfile))
+ self.assertEqual(result.output.split()[0], result.output.split()[2],
'%s was not correclty generated' % imagebootfile)