mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
bitbake: bitbake: tests: Add mcdepends test
Adds a test to validate that mcdepends causes the dependent tasks to build, and also that a change in the dependent task causes the dependee task to re-execute. (Bitbake rev: f2062c41693f9f684bdaf2df0a2a08b7f3871026) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
bf69f30b4b
commit
26ae42ded7
1
bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb
Normal file
1
bitbake/lib/bb/tests/runqueue-tests/recipes/f1.bb
Normal file
|
|
@ -0,0 +1 @@
|
|||
do_install[mcdepends] = "mc:mc1:mc2:a1:do_build"
|
||||
|
|
@ -248,6 +248,36 @@ class RunQueueTests(unittest.TestCase):
|
|||
cmd = ["bitbake", "mc:mc1:fails-mc2", "mc:mc2:fails-mc1"]
|
||||
self.run_bitbakecmd(cmd, tempdir, "", extraenv=extraenv)
|
||||
|
||||
def test_multiconfig_mcdepends(self):
|
||||
with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
|
||||
extraenv = {
|
||||
"BBMULTICONFIG" : "mc1 mc2",
|
||||
"BB_SIGNATURE_HANDLER" : "TestMulticonfigDepends",
|
||||
"EXTRA_BBFILES": "${COREBASE}/recipes/fails-mc/*.bb",
|
||||
}
|
||||
tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
|
||||
expected = ["mc1:f1:%s" % t for t in self.alltasks] + \
|
||||
["mc2:a1:%s" % t for t in self.alltasks]
|
||||
self.assertEqual(set(tasks), set(expected))
|
||||
|
||||
# A rebuild does nothing
|
||||
tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
|
||||
self.assertEqual(set(tasks), set())
|
||||
|
||||
# Test that a signature change in the dependent task causes
|
||||
# mcdepends to rebuild
|
||||
tasks = self.run_bitbakecmd(["bitbake", "mc:mc2:a1", "-c", "compile", "-f"], tempdir, "", extraenv=extraenv, cleanup=True)
|
||||
expected = ["mc2:a1:compile"]
|
||||
self.assertEqual(set(tasks), set(expected))
|
||||
|
||||
rerun_tasks = self.alltasks[:]
|
||||
for x in ("fetch", "unpack", "patch", "prepare_recipe_sysroot", "configure", "compile"):
|
||||
rerun_tasks.remove(x)
|
||||
tasks = self.run_bitbakecmd(["bitbake", "mc:mc1:f1"], tempdir, "", extraenv=extraenv, cleanup=True)
|
||||
expected = ["mc1:f1:%s" % t for t in rerun_tasks] + \
|
||||
["mc2:a1:%s" % t for t in rerun_tasks]
|
||||
self.assertEqual(set(tasks), set(expected))
|
||||
|
||||
@unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required')
|
||||
def test_hashserv_single(self):
|
||||
with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user