From 8e8cb0fb23d0308f6c23aab6dea2a841bc1574fe Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Wed, 17 Jun 2009 06:56:42 +0200 Subject: [PATCH] [entropy.libraries.tests] add package install metadata generation test --- libraries/tests/client.py | 72 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/libraries/tests/client.py b/libraries/tests/client.py index ba9655d2f..dc2bf5378 100644 --- a/libraries/tests/client.py +++ b/libraries/tests/client.py @@ -18,6 +18,9 @@ class LocalRepositoryTest(unittest.TestCase): self.mem_repo_desc = "This is a testing repository" self.Client = Client(noclientdb = 2, indexing = False, xcache = False, repo_validation = False) + # fake clientDbconn + self.Client.clientDbconn = self.Client.open_memory_database( + dbname = etpConst['clientdbid']) self.Spm = self.Client.Spm() self.SystemSettings = SystemSettings() @@ -97,5 +100,74 @@ class LocalRepositoryTest(unittest.TestCase): self.assertNotEqual(None, dbconn.getPackageData(idpackage)) self.assertNotEqual(None, dbconn.retrieveAtom(idpackage)) + def test_package_install(self): + + pkg_metadata = { + 'accept_license': set([u'ZLIB']), + 'signatures': {'sha256': None, 'sha1': None, 'sha512': None}, + 'removeidpackage': -1, + 'imagedir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/image', + 'download': u'packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2', + 'xpakpath': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/xpak', + 'slot': u'0', + 'pkgdbpath': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/edb/pkg.db', + 'versiontag': u'', + 'version': u'1.2.3-r1', + 'idpackage': 1, + 'xpakstatus': None, + 'unpackdir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2', + 'revision': 1, + 'category': u'sys-libs', + 'repository': 'sys-libs:zlib-1.2.3-r1~1.tbz2', + 'xpakdir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/xpak/data', + 'merge_from': None, + 'atom': u'sys-libs/zlib-1.2.3-r1', + 'conflicts': set([]), + 'pkgpath': '/home/fabio/repos/entropy/libraries/tests/sys-libs:zlib-1.2.3-r1~1.tbz2', + 'removeconfig': False, + 'name': u'zlib', + 'install_source': 0, + 'triggers': {'install': + { + 'accept_license': set([u'ZLIB']), + 'branch': u'4', + 'eclasses': set([u'multilib', u'toolchain-funcs', u'eutils', u'portability', u'flag-o-matic']), + 'xpakdir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/xpak/data', + 'etpapi': 3, + 'cxxflags': u'-Os -march=x86-64 -pipe', + 'chost': u'x86_64-pc-linux-gnu', + 'atom': u'sys-libs/zlib-1.2.3-r1', + 'category': u'sys-libs', + 'name': u'zlib', + 'versiontag': u'', + 'imagedir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2/image', + 'content': set([u'/lib64/libz.so', u'/usr/share/doc/zlib-1.2.3-r1', u'/usr/share/man', u'/usr/share', u'/usr/share/doc/zlib-1.2.3-r1/ChangeLog.bz2', u'/usr', u'/usr/share/doc/zlib-1.2.3-r1/FAQ.bz2', u'/usr/lib64', u'/usr/share/man/man3/zlib.3.bz2', u'/usr/include', u'/usr/lib64/libz.a', u'/lib64', u'/usr/share/doc/zlib-1.2.3-r1/algorithm.txt.bz2', u'/usr/share/doc/zlib-1.2.3-r1/README.bz2', u'/usr/include/zconf.h', u'/usr/lib64/libz.so', u'/usr/share/doc', u'/usr/include/zlib.h', u'/lib64/libz.so.1.2.3', u'/usr/share/man/man3', u'/lib64/libz.so.1']), + 'version': u'1.2.3-r1', + 'cflags': u'-Os -march=x86-64 -pipe', + 'spm_phases': None, + 'unpackdir': u'/var/tmp/entropy/packages/amd64/4/sys-libs:zlib-1.2.3-r1~1.tbz2', + 'revision': 1} + }, + 'configprotect_data': [], + 'checksum': u'5b2c4dadef86b3e61129a23ad10367ab', + 'messages': [], + 'remove_metaopts': {'removeconfig': True}, + 'steps': ['unpack', 'preinstall', 'install', 'postinstall', 'logmessages', 'cleanup'], + 'smartpackage': False + } + + test_pkg = _misc.get_test_entropy_package() + rc, atoms_contained = self.Client.add_tbz2_to_repos(test_pkg) + self.assertEqual(0, rc) + self.assertNotEqual([],atoms_contained) + for match in atoms_contained: # it's just one + pkg = self.Client.Package() + pkg.prepare(match, "install") + del pkg.infoDict['triggers']['install']['trigger'] + self.assertEqual(pkg.infoDict, pkg_metadata) + + def test_package_source(self): + pass + if __name__ == '__main__': unittest.main()