mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00

These IDs refer to testopia which we're no longer using. We would now use the test names to definitively reference tests and the IDs can be dropped, along with their supporting code. (From OE-Core rev: 8e2d0575e4e7036b5f60e632f377a8ab2b96ead8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
94 lines
3.5 KiB
Python
94 lines
3.5 KiB
Python
import os
|
|
|
|
from oeqa.selftest.case import OESelftestTestCase
|
|
from oeqa.utils.commands import runCmd, bitbake, get_bb_var
|
|
import oeqa.utils.ftools as ftools
|
|
|
|
class LayerAppendTests(OESelftestTestCase):
|
|
layerconf = """
|
|
# We have a conf and classes directory, append to BBPATH
|
|
BBPATH .= ":${LAYERDIR}"
|
|
|
|
# We have a recipes directory, add to BBFILES
|
|
BBFILES += "${LAYERDIR}/recipes*/*.bb ${LAYERDIR}/recipes*/*.bbappend"
|
|
|
|
BBFILE_COLLECTIONS += "meta-layerINT"
|
|
BBFILE_PATTERN_meta-layerINT := "^${LAYERDIR}/"
|
|
BBFILE_PRIORITY_meta-layerINT = "6"
|
|
"""
|
|
recipe = """
|
|
LICENSE="CLOSED"
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
|
|
python do_build() {
|
|
bb.plain('Building ...')
|
|
}
|
|
addtask build
|
|
"""
|
|
append = """
|
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
|
|
|
SRC_URI_append = " file://appendtest.txt"
|
|
|
|
sysroot_stage_all_append() {
|
|
install -m 644 ${WORKDIR}/appendtest.txt ${SYSROOT_DESTDIR}/
|
|
}
|
|
|
|
"""
|
|
|
|
append2 = """
|
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
|
|
|
SRC_URI_append = " file://appendtest.txt"
|
|
"""
|
|
layerappend = ''
|
|
|
|
def tearDownLocal(self):
|
|
if self.layerappend:
|
|
ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend)
|
|
super(LayerAppendTests, self).tearDownLocal()
|
|
|
|
def test_layer_appends(self):
|
|
corebase = get_bb_var("COREBASE")
|
|
|
|
for l in ["0", "1", "2"]:
|
|
layer = os.path.join(corebase, "meta-layertest" + l)
|
|
self.assertFalse(os.path.exists(layer))
|
|
os.mkdir(layer)
|
|
os.mkdir(layer + "/conf")
|
|
with open(layer + "/conf/layer.conf", "w") as f:
|
|
f.write(self.layerconf.replace("INT", l))
|
|
os.mkdir(layer + "/recipes-test")
|
|
if l == "0":
|
|
with open(layer + "/recipes-test/layerappendtest.bb", "w") as f:
|
|
f.write(self.recipe)
|
|
elif l == "1":
|
|
with open(layer + "/recipes-test/layerappendtest.bbappend", "w") as f:
|
|
f.write(self.append)
|
|
os.mkdir(layer + "/recipes-test/layerappendtest")
|
|
with open(layer + "/recipes-test/layerappendtest/appendtest.txt", "w") as f:
|
|
f.write("Layer 1 test")
|
|
elif l == "2":
|
|
with open(layer + "/recipes-test/layerappendtest.bbappend", "w") as f:
|
|
f.write(self.append2)
|
|
os.mkdir(layer + "/recipes-test/layerappendtest")
|
|
with open(layer + "/recipes-test/layerappendtest/appendtest.txt", "w") as f:
|
|
f.write("Layer 2 test")
|
|
self.track_for_cleanup(layer)
|
|
|
|
self.layerappend = "BBLAYERS += \"{0}/meta-layertest0 {0}/meta-layertest1 {0}/meta-layertest2\"".format(corebase)
|
|
ftools.append_file(self.builddir + "/conf/bblayers.conf", self.layerappend)
|
|
stagingdir = get_bb_var("SYSROOT_DESTDIR", "layerappendtest")
|
|
bitbake("layerappendtest")
|
|
data = ftools.read_file(stagingdir + "/appendtest.txt")
|
|
self.assertEqual(data, "Layer 2 test")
|
|
os.remove(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt")
|
|
bitbake("layerappendtest")
|
|
data = ftools.read_file(stagingdir + "/appendtest.txt")
|
|
self.assertEqual(data, "Layer 1 test")
|
|
with open(corebase + "/meta-layertest2/recipes-test/layerappendtest/appendtest.txt", "w") as f:
|
|
f.write("Layer 2 test")
|
|
bitbake("layerappendtest")
|
|
data = ftools.read_file(stagingdir + "/appendtest.txt")
|
|
self.assertEqual(data, "Layer 2 test")
|