* [PATCH] systemdboot: Add Test to check boot file is created correctly
@ 2016-08-26 21:34 Jose Perez Carranza
2016-08-29 14:33 ` Benjamin Esquivel
0 siblings, 1 reply; 4+ messages in thread
From: Jose Perez Carranza @ 2016-08-26 21:34 UTC (permalink / raw)
To: poky
Add Test case to verify Add test case to verify to Check
if EFI bootloaderfor systemd boot is correctly build
inside of image.
[YOCTO #9903]
Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
---
meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py | 51 +++++++++++++++++++++---
1 file changed, 46 insertions(+), 5 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..7f57f66 100644
--- a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
+++ b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
@@ -1,12 +1,11 @@
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):
@@ -27,12 +26,12 @@ class Systemdboot(oeSelfTest):
# Build a genericx86-64/efi gummiboot image
bitbake('mtools-native core-image-minimal')
-
@testcase(1445)
def test_efi_systemdboot_images_can_be_built(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@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,44 @@ class Systemdboot(oeSelfTest):
found = os.path.isfile(systemdbootfile)
self.assertTrue(found, 'Systemd-Boot file %s not found' % systemdbootfile)
+
+
+ @testcase(1528)
+ @skipUnlessPassed('test_efi_systemdboot_images_can_be_built')
+ def test_efi_systemdboot_is_built_correctly(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@intel.com>
+ AutomatedBy: Jose Perez Carranza <jose.perez.carranza@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')
+
+ #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)
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] systemdboot: Add Test to check boot file is created correctly
2016-08-26 21:34 [PATCH] systemdboot: Add Test to check boot file is created correctly Jose Perez Carranza
@ 2016-08-29 14:33 ` Benjamin Esquivel
2016-08-29 23:47 ` Jianxun Zhang
0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Esquivel @ 2016-08-29 14:33 UTC (permalink / raw)
To: Jose Perez Carranza, poky
Hello José, see my comments below.
On Fri, 2016-08-26 at 16:34 -0500, Jose Perez Carranza wrote:
> Add Test case to verify Add test case to verify to Check
> if EFI bootloaderfor systemd boot is correctly build
the two sentences above need revision, duplication and a space
missing.
> inside of image.
>
> [YOCTO #9903]
>
> Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
> ---
> meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py | 51
> +++++++++++++++++++++---
> 1 file changed, 46 insertions(+), 5 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..7f57f66 100644
> --- a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> +++ b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
> @@ -1,12 +1,11 @@
> 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):
> @@ -27,12 +26,12 @@ class Systemdboot(oeSelfTest):
> # Build a genericx86-64/efi gummiboot image
> bitbake('mtools-native core-image-minimal')
>
> -
> @testcase(1445)
> def test_efi_systemdboot_images_can_be_built(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@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,44 @@ class Systemdboot(oeSelfTest):
>
> found = os.path.isfile(systemdbootfile)
> self.assertTrue(found, 'Systemd-Boot file %s not found' %
> systemdbootfile)
> +
> +
> + @testcase(1528)
> + @skipUnlessPassed('test_efi_systemdboot_images_can_be_built')
> + def test_efi_systemdboot_is_built_correctly(self):
Names as long as these impose some readability issues when listing the
tests. Please remind that the test name is composed by
module.class.function and if 'function' is this long then it leaves
little room for the rest of the fields in the full test name. It looks
like that level of description you're putting in the name is at the
first line of the docstring of the function. I suggest you pick a
function name short, unique and symbolic.
> + """
> + 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@intel
> .com>
> + AutomatedBy: Jose Perez Carranza <jose.perez.carranza@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')
> +
> + #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' %
typo at 'correctly'
> imagebootfile)
also, if you have an option to get the command output and print it,
would give the test runner more information.
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] systemdboot: Add Test to check boot file is created correctly
2016-08-29 14:33 ` Benjamin Esquivel
@ 2016-08-29 23:47 ` Jianxun Zhang
0 siblings, 0 replies; 4+ messages in thread
From: Jianxun Zhang @ 2016-08-29 23:47 UTC (permalink / raw)
To: benjamin.esquivel; +Cc: poky
Jose,
I just found “XXXX” in this script which I guess it could be replaced with real TC number? Maybe you want to roll it in V2.
"""
Common setup for test cases: 1445, XXXX
"""
# Set EFI_PROVIDER = "gummiboot" 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
Thanks
> On Aug 29, 2016, at 7:33 AM, Benjamin Esquivel <benjamin.esquivel@linux.intel.com> wrote:
>
> Hello José, see my comments below.
>
> On Fri, 2016-08-26 at 16:34 -0500, Jose Perez Carranza wrote:
>> Add Test case to verify Add test case to verify to Check
>> if EFI bootloaderfor systemd boot is correctly build
> the two sentences above need revision, duplication and a space
> missing.
>> inside of image.
>>
>> [YOCTO #9903]
>>
>> Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
>> ---
>> meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py | 51
>> +++++++++++++++++++++---
>> 1 file changed, 46 insertions(+), 5 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..7f57f66 100644
>> --- a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
>> +++ b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
>> @@ -1,12 +1,11 @@
>> 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):
>> @@ -27,12 +26,12 @@ class Systemdboot(oeSelfTest):
>> # Build a genericx86-64/efi gummiboot image
>> bitbake('mtools-native core-image-minimal')
>>
>> -
>> @testcase(1445)
>> def test_efi_systemdboot_images_can_be_built(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@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,44 @@ class Systemdboot(oeSelfTest):
>>
>> found = os.path.isfile(systemdbootfile)
>> self.assertTrue(found, 'Systemd-Boot file %s not found' %
>> systemdbootfile)
>> +
>> +
>> + @testcase(1528)
>> + @skipUnlessPassed('test_efi_systemdboot_images_can_be_built')
>> + def test_efi_systemdboot_is_built_correctly(self):
> Names as long as these impose some readability issues when listing the
> tests. Please remind that the test name is composed by
> module.class.function and if 'function' is this long then it leaves
> little room for the rest of the fields in the full test name. It looks
> like that level of description you're putting in the name is at the
> first line of the docstring of the function. I suggest you pick a
> function name short, unique and symbolic.
>> + """
>> + 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@intel
>> .com>
>> + AutomatedBy: Jose Perez Carranza <jose.perez.carranza@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')
>> +
>> + #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' %
> typo at 'correctly'
>> imagebootfile)
> also, if you have an option to get the command output and print it,
> would give the test runner more information.
>> --
>> 1.9.1
>>
> --
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] systemdboot: Add Test to check boot file is created correctly
@ 2016-12-13 20:45 jose.perez.carranza
0 siblings, 0 replies; 4+ messages in thread
From: jose.perez.carranza @ 2016-12-13 20:45 UTC (permalink / raw)
To: poky
From: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
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@linux.intel.com>
---
meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py | 63 +++++++++++++++++++++---
1 file changed, 55 insertions(+), 8 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..7c19ae3 100644
--- a/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
+++ b/meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
@@ -1,6 +1,6 @@
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
@@ -11,28 +11,29 @@ 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)
def _common_build(self):
"""
- Common build for test cases: 1445 , XXXX
+ Common setup 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')
@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@intel.com>
@@ -41,7 +42,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 +56,48 @@ 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 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@intel.com>
+ AutomatedBy: Jose Perez Carranza <jose.perez.carranza@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)
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-12-13 20:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-26 21:34 [PATCH] systemdboot: Add Test to check boot file is created correctly Jose Perez Carranza
2016-08-29 14:33 ` Benjamin Esquivel
2016-08-29 23:47 ` Jianxun Zhang
-- strict thread matches above, loose matches on Subject: below --
2016-12-13 20:45 jose.perez.carranza
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.