diff options
Diffstat (limited to 'meta/lib/oeqa/selftest/containerimage.py')
-rw-r--r-- | meta/lib/oeqa/selftest/containerimage.py | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/meta/lib/oeqa/selftest/containerimage.py b/meta/lib/oeqa/selftest/containerimage.py deleted file mode 100644 index def481f1445..00000000000 --- a/meta/lib/oeqa/selftest/containerimage.py +++ /dev/null @@ -1,83 +0,0 @@ -import os - -from oeqa.selftest.base import oeSelfTest -from oeqa.utils.commands import bitbake, get_bb_vars, runCmd - -# This test builds an image with using the "container" IMAGE_FSTYPE, and -# ensures that then files in the image are only the ones expected. -# -# The only package added to the image is container_image_testpkg, which -# contains one file. However, due to some other things not cleaning up during -# rootfs creation, there is some cruft. Ideally bugs will be filed and the -# cruft removed, but for now we whitelist some known set. -# -# Also for performance reasons we're only checking the cruft when using ipk. -# When using deb, and rpm it is a bit different and we could test all -# of them, but this test is more to catch if other packages get added by -# default other than what is in ROOTFS_BOOTSTRAP_INSTALL. -# -class ContainerImageTests(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_expected_files(self): - - def get_each_path_part(path): - if path: - part = [ '.' + path + '/' ] - result = get_each_path_part(path.rsplit('/', 1)[0]) - if result: - return part + result - else: - return part - else: - return None - - self.write_config("""PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" -IMAGE_FSTYPES = "container" -PACKAGE_CLASSES = "package_ipk" -IMAGE_FEATURES = "" -""") - - bbvars = get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', - 'DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], - target='container-test-image') - expected_files = [ - './', - '.{bindir}/theapp', - '.{sysconfdir}/default/', - '.{sysconfdir}/default/postinst', - '.{sysconfdir}/ld.so.cache', - '.{sysconfdir}/timestamp', - '.{sysconfdir}/version', - './run/', - '.{localstatedir}/cache/', - '.{localstatedir}/cache/ldconfig/', - '.{localstatedir}/cache/ldconfig/aux-cache', - '.{localstatedir}/cache/opkg/', - '.{localstatedir}/lib/', - '.{localstatedir}/lib/opkg/' - ] - - expected_files = [ x.format(bindir=bbvars['bindir'], - sysconfdir=bbvars['sysconfdir'], - localstatedir=bbvars['localstatedir']) - for x in expected_files ] - - # Since tar lists all directories individually, make sure each element - # from bindir, sysconfdir, etc is added - expected_files += get_each_path_part(bbvars['bindir']) - expected_files += get_each_path_part(bbvars['sysconfdir']) - expected_files += get_each_path_part(bbvars['localstatedir']) - - expected_files = sorted(expected_files) - - # Build the image of course - bitbake('container-test-image') - - image = os.path.join(bbvars['DEPLOY_DIR_IMAGE'], - bbvars['IMAGE_LINK_NAME'] + '.tar.bz2') - - # Ensure the files in the image are what we expect - result = runCmd("tar tf {} | sort".format(image), shell=True) - self.assertEqual(result.output.split('\n'), expected_files) |