Files
poky/meta/lib/oeqa/selftest/cases/multiconfig.py
Richard Purdie bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00

73 lines
2.3 KiB
Python

#
# SPDX-License-Identifier: MIT
#
import os
import textwrap
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
class MultiConfig(OESelftestTestCase):
def test_multiconfig(self):
"""
Test that a simple multiconfig build works. This uses the mcextend class and the
multiconfig-image-packager test recipe to build a core-image-full-cmdline image which
contains a tiny core-image-minimal and a musl core-image-minimal, installed as packages.
"""
config = """
IMAGE_INSTALL:append:pn-core-image-full-cmdline = " multiconfig-image-packager-tiny multiconfig-image-packager-musl"
BBMULTICONFIG = "tiny musl"
"""
self.write_config(config)
muslconfig = """
MACHINE = "qemux86-64"
DISTRO = "poky"
TCLIBC = "musl"
TMPDIR = "${TOPDIR}/tmp-mc-musl"
"""
self.write_config(muslconfig, 'musl')
tinyconfig = """
MACHINE = "qemux86"
DISTRO = "poky-tiny"
TMPDIR = "${TOPDIR}/tmp-mc-tiny"
"""
self.write_config(tinyconfig, 'tiny')
# Build a core-image-minimal
bitbake('core-image-full-cmdline')
def test_multiconfig_reparse(self):
"""
Test that changes to a multiconfig conf file are correctly detected and
cause a reparse/rebuild of a recipe.
"""
config = textwrap.dedent('''\
MCTESTVAR = "test"
BBMULTICONFIG = "test"
''')
self.write_config(config)
testconfig = textwrap.dedent('''\
MCTESTVAR:append = "1"
''')
self.write_config(testconfig, 'test')
# Check that the 1) the task executed and 2) that it output the correct
# value. Note "bitbake -e" is not used because it always reparses the
# recipe and we want to ensure that the automatic reparsing and parse
# caching is detected.
result = bitbake('mc:test:multiconfig-test-parse -c showvar')
self.assertIn('MCTESTVAR=test1', result.output.splitlines())
testconfig = textwrap.dedent('''\
MCTESTVAR:append = "2"
''')
self.write_config(testconfig, 'test')
result = bitbake('mc:test:multiconfig-test-parse -c showvar')
self.assertIn('MCTESTVAR=test2', result.output.splitlines())