blob: 3c36f6e5d2e42d7873be9d41139a8fd77f0fef1b [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001import os
2from oeqa.selftest.case import OESelftestTestCase
3from oeqa.utils.commands import bitbake
4import oeqa.utils.ftools as ftools
5
6class MultiConfig(OESelftestTestCase):
7
8 def test_multiconfig(self):
9 """
10 Test that a simple multiconfig build works. This uses the mcextend class and the
11 multiconfig-image-packager test recipe to build a core-image-full-cmdline image which
12 contains a tiny core-image-minimal and a musl core-image-minimal, installed as packages.
13 """
14
15 config = """
16IMAGE_INSTALL_append_pn-core-image-full-cmdline = " multiconfig-image-packager-tiny multiconfig-image-packager-musl"
17BBMULTICONFIG = "tiny musl"
18"""
19 self.write_config(config)
20
21 muslconfig = """
22MACHINE = "qemux86-64"
23DISTRO = "poky"
24TCLIBC = "musl"
25TMPDIR = "${TOPDIR}/tmp-mc-musl"
26"""
27
28 tinyconfig = """
29MACHINE = "qemux86"
30DISTRO = "poky-tiny"
31TMPDIR = "${TOPDIR}/tmp-mc-tiny"
32"""
33
34 multiconfigdir = self.builddir + "/conf/multiconfig"
35 os.makedirs(multiconfigdir, exist_ok=True)
36 self.track_for_cleanup(multiconfigdir + "/musl.conf")
37 ftools.write_file(multiconfigdir + "/musl.conf", muslconfig)
38 self.track_for_cleanup(multiconfigdir + "/tiny.conf")
39 ftools.write_file(multiconfigdir + "/tiny.conf", tinyconfig)
40
41 # Build a core-image-minimal
42 bitbake('core-image-full-cmdline')
43