image_typedep.py: Add a test that ensures conversion type deps get added

Add a test that ensures if IMAGE_TYPEDEP_* contains a conversion type,
that the corresponding CONVERSION_DEPENDS_ for that type gets added to
the dependency tree for do_rootfs.

(From OE-Core rev: 9cf9c725f7d534c326ffd95ec539b041f4ad286f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Randy Witt
2017-01-05 15:15:43 -08:00
committed by Richard Purdie
parent f7cf740fc4
commit f64e321baf

View File

@@ -0,0 +1,51 @@
import os
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import bitbake
class ImageTypeDepTests(oeSelfTest):
# Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that
# the conversion type bar gets added as a dep as well
def test_conversion_typedep_added(self):
self.write_recipeinc('emptytest', """
# Try to empty out the default dependency list
PACKAGE_INSTALL = ""
DISTRO_EXTRA_RDEPENDS=""
LICENSE = "MIT"
IMAGE_FSTYPES = "testfstype"
IMAGE_TYPES_MASKED += "testfstype"
IMAGE_TYPEDEP_testfstype = "tar.bz2"
inherit image
""")
# First get the dependency that should exist for bz2, it will look
# like CONVERSION_DEPENDS_bz2="somedep"
result = bitbake('-e emptytest')
for line in result.output.split('\n'):
if line.startswith('CONVERSION_DEPENDS_bz2'):
dep = line.split('=')[1].strip('"')
break
# Now get the dependency task list and check for the expected task
# dependency
bitbake('-g emptytest')
taskdependsfile = os.path.join(self.builddir, 'task-depends.dot')
dep = dep + ".do_populate_sysroot"
depfound = False
expectedline = '"emptytest.do_rootfs" -> "{}"'.format(dep)
with open(taskdependsfile, "r") as f:
for line in f:
if line.strip() == expectedline:
depfound = True
break
if not depfound:
raise AssertionError("\"{}\" not found".format(expectedline))