[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6473/8267] oeqa/selftest/systemdboot: Add Test to check boot file is created correctly



commit 00e2566f0ee0bd1ca29d0fe6239b61471865bfd9
Author: Jose Perez Carranza <jose perez carranza linux intel com>
Date:   Thu Jun 15 05:49:06 2017 -0700

    oeqa/selftest/systemdboot: Add Test to check boot file is created correctly
    
    Add Test case to verify if EFI bootloader for
    systemd boot is correctly build inside of image.
    
    [YOCTO #9903]
    
    (From meta-yocto rev: ce060ee09d00d737007f4a0569e13bebbcde0b3f)
    
    Signed-off-by: Jose Perez Carranza <jose perez carranza linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 .../lib/oeqa/selftest/cases/systemd_boot.py        |   54 ++++++++++++++++++--
 1 files changed, 50 insertions(+), 4 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 848cdf7..dd5eeec 100644
--- a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
+++ b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
@@ -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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]