systemd_boot: Enable module to test systemd bootloader

Module systemd_boot created wtih a class "Systemdboot"
 and a test case "test_efi_systemdboot_images_can_be_built"
 to test new systemd bootloader.

 [YOCTO #9706]

(From meta-yocto rev: 4366060660f15592261227ca47088b492383f8cc)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jose Perez Carranza 2016-07-04 16:15:07 -05:00 committed by Richard Purdie
parent 2c043e3655
commit d11e8e1109
1 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,56 @@
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
from oeqa.utils.decorators import testcase
import re
import os
import sys
import logging
class Systemdboot(oeSelfTest):
def _common_setup(self):
"""
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
"""
# 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
2. 'systemd-boot" can be built correctly
Product: oe-core
Author: Jose Perez Carranza <jose.perez.carranza@intel.com>
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')
self._common_setup()
# Ensure we're actually testing that this gets built and not that
# it was around from an earlier build
bitbake('-c cleansstate systemd-boot')
runCmd('rm -f %s' % systemdbootfile)
self._common_build()
found = os.path.isfile(systemdbootfile)
self.assertTrue(found, 'Systemd-Boot file %s not found' % systemdbootfile)