[poky] [PATCH v3] systemdboot: Add Test to check boot file is created correctly
Perez Carranza, Jose
jose.perez.carranza at intel.com
Mon Sep 26 14:01:08 PDT 2016
Zhang
Is not yet merged in poky because is an enhancement and was not ready for M3, hence this will be merged until 2.3 M1
Regards,
José
-----Original Message-----
From: Jianxun Zhang [mailto:jianxun.zhang at linux.intel.com]
Sent: Monday, September 26, 2016 3:57 PM
To: Perez Carranza, Jose <jose.perez.carranza at intel.com>
Cc: poky at yoctoproject.org; benjamin.esquivel at linux.intel.com
Subject: Re: [PATCH v3] systemdboot: Add Test to check boot file is created correctly
Jose,
Could you confirm this is merged in poky? I don’t see it today.
Thanks
> On Aug 30, 2016, at 1:17 PM, Jose Perez Carranza <jose.perez.carranza at intel.com> wrote:
>
> Add Test case to verify if EFI bootloader for
> systemd boot is correctly build inside of image.
>
> [YOCTO #9903]
>
> Signed-off-by: Jose Perez Carranza <jose.perez.carranza at intel.com>
> ---
> meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py | 64
> ++++++++++++++++++++----
> 1 file changed, 55 insertions(+), 9 deletions(-)
>
> diff --git a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> index f7f74db..9660c87 100644
> --- a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> +++ b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> @@ -1,20 +1,19 @@
> from oeqa.selftest.base import oeSelfTest from oeqa.utils.commands
> import runCmd, bitbake, get_bb_var, runqemu -from
> oeqa.utils.decorators import testcase
> +from oeqa.utils.decorators import testcase, skipUnlessPassed
> import re
> import os
> import sys
> import logging
>
> -
> class Systemdboot(oeSelfTest):
>
> 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)
> @@ -24,15 +23,15 @@ class Systemdboot(oeSelfTest):
> Common build for test cases: 1445 , XXXX
> """
>
> - # Build a genericx86-64/efi gummiboot image
> + # Build a genericx86-64/efi systemdboot image
> bitbake('mtools-native core-image-minimal')
>
> -
> @testcase(1445)
> - def test_efi_systemdboot_images_can_be_built(self):
> + def test_efi_image_build(self):
> """
> Summary: Check if systemd-boot images can be built correctly
> - Expected: 1. File systemd-boot.efi should be available in $poky/build/tmp/deploy/images/genericx86-64
> + Expected: 1. File systemd-boot.efi should be available in:
> + $poky/build/tmp/deploy/images/genericx86-64
> 2. 'systemd-boot" can be built correctly
> Product: oe-core
> Author: Jose Perez Carranza <jose.perez.carranza at intel.com>
> @@ -41,7 +40,8 @@ class Systemdboot(oeSelfTest):
>
> # 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')
> + systemdbootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64',
> + 'systemd-bootx64.efi')
>
> self._common_setup()
>
> @@ -54,3 +54,49 @@ class Systemdboot(oeSelfTest):
>
> found = os.path.isfile(systemdbootfile)
> self.assertTrue(found, 'Systemd-Boot file %s not found' %
> systemdbootfile)
> +
> +
> + @testcase(1528)
> + @skipUnlessPassed('test_efi_image_build')
> + def test_image_efi_file(self):
> + """
> + Summary: Check if EFI bootloader for systemd is correctly build
> + Dependencies: Image was built correctly on test case 1445
> + Steps: 1. Copy bootx64.efi file from 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 intel.com>
> + AutomatedBy: Jose Perez Carranza <jose.perez.carranza at 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],
> + 'checksums from %s and %s are different'
> + % (imagebootfile, systemdbootfile))
> --
> 1.9.1
>
More information about the poky
mailing list