瀏覽代碼

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.

(From meta-yocto rev: 1b46e2c1acd2c0cd557740220bbc3ccb77dae127)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 6 年之前
父節點
當前提交
e54754a9ac
共有 1 個文件被更改,包括 18 次插入43 次删除
  1. 18 43
      meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py

+ 18 - 43
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)