Improve oeqa-selftest capabilities and UX by placing test configuration features and variables into a separate configuration file.
[Yocto 9389] Signed-off-by: Jose Lamego <jose.a.lam...@linux.intel.com> --- meta/lib/oeqa/selftest/conf/pkgdata.conf | 39 ++++ meta/lib/oeqa/selftest/pkgdata.py | 373 ++++++++++++++++++++++--------- 2 files changed, 305 insertions(+), 107 deletions(-) create mode 100644 meta/lib/oeqa/selftest/conf/pkgdata.conf diff --git a/meta/lib/oeqa/selftest/conf/pkgdata.conf b/meta/lib/oeqa/selftest/conf/pkgdata.conf new file mode 100644 index 0000000..4d7a667 --- /dev/null +++ b/meta/lib/oeqa/selftest/conf/pkgdata.conf @@ -0,0 +1,39 @@ +[OePkgdataUtilTests] +setUpClass_package_1 = glibc +setUpClass_package_2 = busybox +setUpClass_package_3 = zlib +setUpClass_package_4 = bash +lookup_pkg_package_1 = glibc +lookup_pkg_package_2 = busybox +lookup_pkg_package_3 = libc6 +lookup_pkg_package_4 = zlib-dev +lookup_pkg_package_5 = libz-dev +lookup_pkg_package_6 = nonexistentpkg +read_value_package_1 = libz1 +read_value_package_2 = zlib +read_value_package_3 = bash +find_path_package_1 = libc.so.6 +find_path_package_2 = glibc +find_path_package_3 = bash +lookup_recipe_package_1 = libc6-staticdev +lookup_recipe_package_2 = busybox +lookup_recipe_package_3 = glibc +lookup_recipe_package_4 = libz-dbg +lookup_recipe_package_5 = zlib +lookup_recipe_package_6 = nonexistentpkg +list_pkgs_package_1 = list-pkgs +list_pkgs_package_2 = glibc-utils +list_pkgs_package_3 = zlib-dev +list_pkgs_package_4 = libc6-utils +list_pkgs_package_5 = libz-dev +list_pkgs_package_6 = zlib +list_pkgs_package_7 = libz +list_pkg_files_package_1 = zlib +list_pkg_files_package_2 = libz +glob_package_1 = libc6 +glob_package_2 = libz +glob_package_3 = busybox +glob_package_4 = glibc +glob_prefix = pkgdataqa +specify_pkgdatadir_package_1 = glibc +specify_pkgdatadir_package_2 = libc6 diff --git a/meta/lib/oeqa/selftest/pkgdata.py b/meta/lib/oeqa/selftest/pkgdata.py index 5a63f89..f2a5c22 100644 --- a/meta/lib/oeqa/selftest/pkgdata.py +++ b/meta/lib/oeqa/selftest/pkgdata.py @@ -8,107 +8,197 @@ import oeqa.utils.ftools as ftools from oeqa.selftest.base import oeSelfTest from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.utils.decorators import testcase +from oeqa.utils.readconfig import conffile + class OePkgdataUtilTests(oeSelfTest): @classmethod def setUpClass(cls): + # Get test configurations from configuration file + cls.config = conffile(__file__) # Ensure we have the right data in pkgdata logger = logging.getLogger("selftest") logger.info('Running bitbake to generate pkgdata') - bitbake('glibc busybox zlib bash') + package_1 = cls.config.get( + 'OePkgdataUtilTests', 'setUpClass_package_1') + package_2 = cls.config.get( + 'OePkgdataUtilTests', 'setUpClass_package_2') + package_3 = cls.config.get( + 'OePkgdataUtilTests', 'setupClass_package_3') + package_4 = cls.config.get( + 'OePkgdataUtilTests', 'setupClass_package_4') + bitbake('%s %s %s %s' % (package_1, package_2, package_3, package_4)) @testcase(1203) def test_lookup_pkg(self): + package_1 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_2') + package_3 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_3') + package_4 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_4') + package_5 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_5') + package_6 = self.config.get( + 'OePkgdataUtilTests', 'lookup_pkg_package_6') # Forward tests - result = runCmd('oe-pkgdata-util lookup-pkg "glibc busybox"') - self.assertEqual(result.output, 'libc6\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg zlib-dev') - self.assertEqual(result.output, 'libz-dev') - result = runCmd('oe-pkgdata-util lookup-pkg nonexistentpkg', ignore_status=True) + result = runCmd( + 'oe-pkgdata-util lookup-pkg "%s %s"' % (package_1, package_2)) + self.assertEqual(result.output, '%s\n%s' % (package_3, package_2)) + result = runCmd('oe-pkgdata-util lookup-pkg %s' % package_4) + self.assertEqual(result.output, package_5) + result = runCmd('oe-pkgdata-util lookup-pkg %s' % package_6, + ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') # Reverse tests - result = runCmd('oe-pkgdata-util lookup-pkg -r "libc6 busybox"') - self.assertEqual(result.output, 'glibc\nbusybox') - result = runCmd('oe-pkgdata-util lookup-pkg -r libz-dev') - self.assertEqual(result.output, 'zlib-dev') - result = runCmd('oe-pkgdata-util lookup-pkg -r nonexistentpkg', ignore_status=True) + result = runCmd('oe-pkgdata-util lookup-pkg -r "%s %s"' + % (package_3, package_2)) + self.assertEqual(result.output, '%s\n%s' % (package_1, package_2)) + result = runCmd('oe-pkgdata-util lookup-pkg -r %s' % package_5) + self.assertEqual(result.output, package_4) + result = runCmd('oe-pkgdata-util lookup-pkg -r %s' % package_6, + ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) - self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') + self.assertEqual(result.output, 'ERROR: The following packages could \ +not be found: %s' % package_6) @testcase(1205) def test_read_value(self): - result = runCmd('oe-pkgdata-util read-value PN libz1') - self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util read-value PKGSIZE bash') + package_1 = self.config.get( + 'OePkgdataUtilTests', 'read_value_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'read_value_package_2') + package_3 = self.config.get( + 'OePkgdataUtilTests', 'read_value_package_3') + result = runCmd('oe-pkgdata-util read-value PN %s' % package_1) + self.assertEqual(result.output, package_2) + result = runCmd('oe-pkgdata-util read-value PKGSIZE %s' % package_3) pkgsize = int(result.output.strip()) self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) @testcase(1198) def test_find_path(self): - result = runCmd('oe-pkgdata-util find-path /lib/libc.so.6') - self.assertEqual(result.output, 'glibc: /lib/libc.so.6') - result = runCmd('oe-pkgdata-util find-path /bin/bash') - self.assertEqual(result.output, 'bash: /bin/bash') + package_1 = self.config.get( + 'OePkgdataUtilTests', 'find_path_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'find_path_package_2') + package_3 = self.config.get( + 'OePkgdataUtilTests', 'find_path_package_3') + result = runCmd('oe-pkgdata-util find-path /lib/%s' % package_1) + self.assertEqual(result.output, '%s: /lib/%s' % (package_2, package_1)) + result = runCmd('oe-pkgdata-util find-path /bin/%s' % package_3) + self.assertEqual(result.output, '%s: /bin/%s' % (package_3, package_3)) result = runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') @testcase(1204) def test_lookup_recipe(self): - result = runCmd('oe-pkgdata-util lookup-recipe "libc6-staticdev busybox"') - self.assertEqual(result.output, 'glibc\nbusybox') - result = runCmd('oe-pkgdata-util lookup-recipe libz-dbg') - self.assertEqual(result.output, 'zlib') - result = runCmd('oe-pkgdata-util lookup-recipe nonexistentpkg', ignore_status=True) + package_1 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_2') + package_3 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_3') + package_4 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_4') + package_5 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_5') + package_6 = self.config.get( + 'OePkgdataUtilTests', 'lookup_recipe_package_6') + result = runCmd('oe-pkgdata-util lookup-recipe "%s %s"' + % (package_1, package_2)) + self.assertEqual(result.output, '%s\n%s' % (package_3, package_2)) + result = runCmd('oe-pkgdata-util lookup-recipe %s' % package_4) + self.assertEqual(result.output, package_5) + result = runCmd('oe-pkgdata-util lookup-recipe %s' % package_6, + ignore_status=True) self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) - self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') + self.assertEqual(result.output, 'ERROR: The following packages could \ +not be found: %s' % package_6) @testcase(1202) def test_list_pkgs(self): + package_1 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_2') + package_3 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_3') + package_4 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_4') + package_5 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_5') + package_6 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_6') + package_7 = self.config.get( + 'OePkgdataUtilTests', 'list_pkgs_package_7') # No arguments - result = runCmd('oe-pkgdata-util list-pkgs') + result = runCmd('oe-pkgdata-util %s' % package_1) pkglist = result.output.split() - self.assertIn('glibc-utils', pkglist, "Listed packages: %s" % result.output) - self.assertIn('zlib-dev', pkglist, "Listed packages: %s" % result.output) + self.assertIn(package_2, pkglist, + "Listed packages: %s" % result.output) + self.assertIn(package_3, pkglist, + "Listed packages: %s" % result.output) # No pkgspec, runtime result = runCmd('oe-pkgdata-util list-pkgs -r') pkglist = result.output.split() - self.assertIn('libc6-utils', pkglist, "Listed packages: %s" % result.output) - self.assertIn('libz-dev', pkglist, "Listed packages: %s" % result.output) + self.assertIn(package_4, pkglist, + "Listed packages: %s" % result.output) + self.assertIn(package_5, pkglist, + "Listed packages: %s" % result.output) # With recipe specified - result = runCmd('oe-pkgdata-util list-pkgs -p zlib') + result = runCmd('oe-pkgdata-util list-pkgs -p %s' % package_6) pkglist = sorted(result.output.split()) try: - pkglist.remove('zlib-ptest') # in case ptest is disabled + pkglist.remove('%s-ptest' % package_6) # in case ptest is disabled except ValueError: pass - self.assertEqual(pkglist, ['zlib', 'zlib-dbg', 'zlib-dev', 'zlib-doc', 'zlib-staticdev'], "Packages listed after remove: %s" % result.output) + self.assertEqual( + pkglist, [package_6, '%s-dbg' % package_6, '%s-dev' % package_6, + '%s-doc' % package_6, '%s-staticdev' % package_6], + "Packages listed after remove: %s" % result.output) # With recipe specified, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r') + result = runCmd('oe-pkgdata-util %s -p %s -r' % (package_1, package_6)) pkglist = sorted(result.output.split()) try: - pkglist.remove('libz-ptest') # in case ptest is disabled + pkglist.remove('%s-ptest' % package_7) # in case ptest is disabled except ValueError: pass - self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc', 'libz-staticdev', 'libz1'], "Packages listed after remove: %s" % result.output) + self.assertEqual( + pkglist, ['%s-dbg' % package_7, '%s-dev' % package_7, + '%s-doc' % package_7, '%s-staticdev' % package_7, + '%s1' % package_7], + "Packages listed after remove: %s" % result.output) # With recipe specified and unpackaged - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u') + result = runCmd('oe-pkgdata-util %s -p %s -u' % (package_1, package_6)) pkglist = sorted(result.output.split()) - self.assertIn('zlib-locale', pkglist, "Listed packages: %s" % result.output) + self.assertIn('%s-locale' % package_6, pkglist, + "Listed packages: %s" % result.output) # With recipe specified and unpackaged, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -u -r') + result = runCmd( + 'oe-pkgdata-util %s -p %s -u -r' % (package_1, package_6)) pkglist = sorted(result.output.split()) - self.assertIn('libz-locale', pkglist, "Listed packages: %s" % result.output) + self.assertIn('%s-locale' % package_7, pkglist, + "Listed packages: %s" % result.output) # With recipe specified and pkgspec - result = runCmd('oe-pkgdata-util list-pkgs -p zlib "*-d*"') + result = runCmd( + 'oe-pkgdata-util %s -p %s "*-d*"' % (package_1, package_6)) pkglist = sorted(result.output.split()) - self.assertEqual(pkglist, ['zlib-dbg', 'zlib-dev', 'zlib-doc'], "Packages listed: %s" % result.output) + self.assertEqual( + pkglist, ['%s-dbg' % package_6, '%s-dev' % package_6, '%s-doc' + % package_6], "Packages listed: %s" % result.output) # With recipe specified and pkgspec, runtime - result = runCmd('oe-pkgdata-util list-pkgs -p zlib -r "*-d*"') + result = runCmd( + 'oe-pkgdata-util %s -p %s -r "*-d*"' % (package_1, package_6)) pkglist = sorted(result.output.split()) - self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) + self.assertEqual( + pkglist, ['%s-dbg' % package_7, '%s-dev' % package_7, '%s-doc' + % package_7], "Packages listed: %s" % result.output) @testcase(1201) def test_list_pkg_files(self): @@ -124,103 +214,172 @@ class OePkgdataUtilTests(oeSelfTest): curpkg = line.split(':')[0] files[curpkg] = [] return files + # Get test configurations from configuration file + package_1 = self.config.get( + 'OePkgdataUtilTests', 'list_pkg_files_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'list_pkg_files_package_2') base_libdir = get_bb_var('base_libdir') libdir = get_bb_var('libdir') includedir = get_bb_var('includedir') mandir = get_bb_var('mandir') # Test recipe-space package name - result = runCmd('oe-pkgdata-util list-pkg-files zlib-dev zlib-doc') + result = runCmd('oe-pkgdata-util list-pkg-files %s-dev %s-doc' + % (package_1, package_1)) files = splitoutput(result.output) - self.assertIn('zlib-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn(os.path.join(includedir, 'zlib.h'), files['zlib-dev']) - self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) + self.assertIn('%s-dev' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-doc' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_1]) + self.assertIn(os.path.join(mandir, 'man3/%s.3' % package_1), + files['%s-doc' % package_1]) # Test runtime package name - result = runCmd('oe-pkgdata-util list-pkg-files -r libz1 libz-dev') + result = runCmd('oe-pkgdata-util list-pkg-files -r %s1 %s-dev' + % (package_2, package_2)) files = splitoutput(result.output) - self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertGreater(len(files['libz1']), 1) - libspec = os.path.join(base_libdir, 'libz.so.1.*') + self.assertIn('%s1' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-dev' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertGreater(len(files['%s1' % package_2]), 1) + libspec = os.path.join(base_libdir, '%s.so.1.*' % package_2) found = False - for fileitem in files['libz1']: + for fileitem in files['%s1' % package_2]: if fnmatch.fnmatchcase(fileitem, libspec): found = True break - self.assertTrue(found, 'Could not find zlib library file %s in libz1 package file list: %s' % (libspec, files['libz1'])) - self.assertIn(os.path.join(includedir, 'zlib.h'), files['libz-dev']) + self.assertTrue(found, 'Could not find %s library file %s in %s1 \ +package file list: %s' % (package_1, libspec, package_2, + files['%s1' % package_2])) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_2]) # Test recipe - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib') + result = runCmd('oe-pkgdata-util list-pkg-files -p %s' % package_1) files = splitoutput(result.output) - self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-staticdev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertNotIn('zlib-locale', list(files.keys()), "listed pkgs. files: %s" %result.output) + self.assertIn('%s-dbg' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-doc' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-dev' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-staticdev' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertNotIn('%s-locale' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) # (ignore ptest, might not be there depending on config) - self.assertIn(os.path.join(includedir, 'zlib.h'), files['zlib-dev']) - self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) - self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_1]) + self.assertIn(os.path.join(mandir, 'man3/%s.3' % package_1), + files['%s-doc' % package_1]) + self.assertIn(os.path.join(libdir, '%s.a' % package_2), + files['%s-staticdev' % package_1]) # Test recipe, runtime - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r') + result = runCmd('oe-pkgdata-util list-pkg-files -p %s -r' % package_1) files = splitoutput(result.output) - self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-staticdev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertNotIn('libz-locale', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn(os.path.join(includedir, 'zlib.h'), files['libz-dev']) - self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) - self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) + self.assertIn('%s-dbg' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-doc' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-dev' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-staticdev' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s1' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertNotIn('%s-locale' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_2]) + self.assertIn(os.path.join(mandir, 'man3/%s.3' % package_1), + files['%s-doc' % package_2]) + self.assertIn(os.path.join(libdir, '%s.a' % package_2), + files['%s-staticdev' % package_2]) # Test recipe, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -u') + result = runCmd('oe-pkgdata-util list-pkg-files -p %s -u' % package_1) files = splitoutput(result.output) - self.assertIn('zlib-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-staticdev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('zlib-locale', list(files.keys()), "listed pkgs. files: %s" %result.output) # this is the key one - self.assertIn(os.path.join(includedir, 'zlib.h'), files['zlib-dev']) - self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['zlib-doc']) - self.assertIn(os.path.join(libdir, 'libz.a'), files['zlib-staticdev']) + self.assertIn('%s-dbg' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-doc' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-dev' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-staticdev' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + # this is the key one + self.assertIn('%s-locale' % package_1, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_1]) + self.assertIn(os.path.join(mandir, 'man3/%s.3' % package_1), + files['%s-doc' % package_1]) + self.assertIn(os.path.join(libdir, '%s.a' % package_2), + files['%s-staticdev' % package_1]) # Test recipe, runtime, unpackaged - result = runCmd('oe-pkgdata-util list-pkg-files -p zlib -r -u') + result = runCmd( + 'oe-pkgdata-util list-pkg-files -p %s -r -u' % package_1) files = splitoutput(result.output) - self.assertIn('libz-dbg', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-doc', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-staticdev', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output) - self.assertIn('libz-locale', list(files.keys()), "listed pkgs. files: %s" %result.output) # this is the key one - self.assertIn(os.path.join(includedir, 'zlib.h'), files['libz-dev']) - self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) - self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) + self.assertIn('%s-dbg' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-doc' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-dev' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s-staticdev' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn('%s1' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + # this is the key one + self.assertIn('%s-locale' % package_2, list(files.keys()), + "listed pkgs. files: %s" % result.output) + self.assertIn(os.path.join(includedir, '%s.h' % package_1), + files['%s-dev' % package_2]) + self.assertIn(os.path.join(mandir, 'man3/%s.3' % package_1), + files['%s-doc' % package_2]) + self.assertIn(os.path.join(libdir, '%s.a' % package_2), + files['%s-staticdev' % package_2]) @testcase(1200) def test_glob(self): - tempdir = tempfile.mkdtemp(prefix='pkgdataqa') + # Get test configurations from configuration file + package_1 = self.config.get('OePkgdataUtilTests', 'glob_package_1') + package_2 = self.config.get('OePkgdataUtilTests', 'glob_package_2') + package_3 = self.config.get('OePkgdataUtilTests', 'glob_package_3') + package_4 = self.config.get('OePkgdataUtilTests', 'glob_package_4') + prefix = self.config.get('OePkgdataUtilTests', 'glob_prefix') + tempdir = tempfile.mkdtemp(prefix) self.track_for_cleanup(tempdir) pkglistfile = os.path.join(tempdir, 'pkglist') with open(pkglistfile, 'w') as f: - f.write('libc6\n') - f.write('libz1\n') - f.write('busybox\n') + f.write('%s\n' % package_1) + f.write('%s1\n' % package_2) + f.write('%s\n' % package_3) result = runCmd('oe-pkgdata-util glob %s "*-dev"' % pkglistfile) - desiredresult = ['libc6-dev', 'libz-dev', 'busybox-dev'] + desiredresult = ['%s-dev' % package_1, '%s-dev' % package_2, + '%s-dev' % package_3] self.assertEqual(sorted(result.output.split()), sorted(desiredresult)) # The following should not error (because when we use this during rootfs construction, sometimes the complementary package won't exist) result = runCmd('oe-pkgdata-util glob %s "*-nonexistent"' % pkglistfile) self.assertEqual(result.output, '') # Test exclude option - result = runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^libz"' % pkglistfile) + result = runCmd('oe-pkgdata-util glob %s "*-dev *-dbg" -x "^%s"' + % (pkglistfile, package_2)) resultlist = result.output.split() - self.assertNotIn('libz-dev', resultlist) - self.assertNotIn('libz-dbg', resultlist) + self.assertNotIn('%s-dev' % package_2, resultlist) + self.assertNotIn('%s-dbg' % package_2, resultlist) @testcase(1206) def test_specify_pkgdatadir(self): - result = runCmd('oe-pkgdata-util -p %s lookup-pkg glibc' % get_bb_var('PKGDATA_DIR')) - self.assertEqual(result.output, 'libc6') + # Get test configurations from configuration file + package_1 = self.config.get( + 'OePkgdataUtilTests', 'specify_pkgdatadir_package_1') + package_2 = self.config.get( + 'OePkgdataUtilTests', 'specify_pkgdatadir_package_2') + result = runCmd('oe-pkgdata-util -p %s lookup-pkg %s' + % (get_bb_var('PKGDATA_DIR'), package_1)) + self.assertEqual(result.output, package_2) -- 1.8.3.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core