From 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf Mon Sep 17 00:00:00 2001 From: takeshi_hoshina Date: Mon, 2 Nov 2020 11:07:33 +0900 Subject: basesystem-jj recipes --- .../meta/lib/oeqa/selftest/cases/multiconfig.py | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 external/poky/meta/lib/oeqa/selftest/cases/multiconfig.py (limited to 'external/poky/meta/lib/oeqa/selftest/cases/multiconfig.py') diff --git a/external/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/external/poky/meta/lib/oeqa/selftest/cases/multiconfig.py new file mode 100644 index 00000000..39b92f24 --- /dev/null +++ b/external/poky/meta/lib/oeqa/selftest/cases/multiconfig.py @@ -0,0 +1,72 @@ +# +# 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()) -- cgit 1.2.3-korg