|
@@ -2,25 +2,26 @@ import os
|
|
|
|
|
|
from oeqa.selftest.case import OESelftestTestCase
|
|
|
from oeqa.core.decorator.oeid import OETestID
|
|
|
+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, XXXX
|
|
|
+ Common setup for test cases: 1445, 1528
|
|
|
"""
|
|
|
|
|
|
- # Set EFI_PROVIDER = "gummiboot" and MACHINE = "genericx86-64" in conf/local.conf
|
|
|
+ # 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 , XXXX
|
|
|
+ Common build for test cases: 1445 , 1528
|
|
|
"""
|
|
|
|
|
|
- # Build a genericx86-64/efi gummiboot image
|
|
|
+ # Build a genericx86-64/efi systemdboot image
|
|
|
bitbake('mtools-native core-image-minimal')
|
|
|
|
|
|
|
|
@@ -50,3 +51,48 @@ class Systemdboot(OESelftestTestCase):
|
|
|
|
|
|
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
|
|
|
+ Steps: 1. Copy bootx64.efi file form the hddimg created
|
|
|
+ under build/tmp/deploy/images/genericx86-64
|
|
|
+ 2. Check bootx64.efi was copied form hddimg
|
|
|
+ 3. Verify the checksums from the copied and previously
|
|
|
+ created file are equal.
|
|
|
+ Expected : Systemd-bootx64.efi and bootx64.efi should be the same
|
|
|
+ hence checksums should be equal.
|
|
|
+ Product: oe-core
|
|
|
+ Author: Jose Perez Carranza <jose.perez.carranza at linux-intel.com>
|
|
|
+ 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')
|
|
|
+
|
|
|
+ #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,
|
|
|
+ imagebootfile))
|
|
|
+
|
|
|
+ #Step 2
|
|
|
+ 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],
|
|
|
+ '%s was not correclty generated' % imagebootfile)
|