From 1b46e2c1acd2c0cd557740220bbc3ccb77dae127 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 2 Aug 2018 08:28:55 +0100 Subject: 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 --- .../lib/oeqa/selftest/cases/systemd_boot.py | 61 +++++++--------------- 1 file 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 """ - # 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 """ - 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) -- cgit 1.2.3-korg