From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1R3EKA-0004mx-Jx for garchives@archives.gentoo.org; Mon, 12 Sep 2011 21:45:54 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 29D3121C30B; Mon, 12 Sep 2011 21:45:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id DFA0821C30B for ; Mon, 12 Sep 2011 21:45:46 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2B5D01B4010 for ; Mon, 12 Sep 2011 21:45:46 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 29CCF80042 for ; Mon, 12 Sep 2011 21:45:45 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <732fe15bde15f537df3c867f1d93744b792472b5.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/tests/resolver/, pym/portage/tests/ebuild/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/tests/ebuild/test_config.py pym/portage/tests/resolver/ResolverPlayground.py X-VCS-Directories: pym/portage/tests/resolver/ pym/portage/tests/ebuild/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 732fe15bde15f537df3c867f1d93744b792472b5 Date: Mon, 12 Sep 2011 21:45:45 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 927f25ed1a778e5bdc4185682b6f8138 commit: 732fe15bde15f537df3c867f1d93744b792472b5 Author: Sebastian Luther gmx de> AuthorDate: Wed Sep 7 06:13:59 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Sep 12 21:41:00 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D732fe15b Add tests for thin manifests --- pym/portage/tests/ebuild/test_config.py | 48 ++++++++++++++++= ++++++ pym/portage/tests/resolver/ResolverPlayground.py | 14 ++++-- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/pym/portage/tests/ebuild/test_config.py b/pym/portage/tests/= ebuild/test_config.py index 7bec8c6..ff3935b 100644 --- a/pym/portage/tests/ebuild/test_config.py +++ b/pym/portage/tests/ebuild/test_config.py @@ -196,3 +196,51 @@ class ConfigTestCase(TestCase): self.assertEqual(test_case.test_success, True, test_case.fail_msg) finally: playground.cleanup() + + + def testManifest(self): + + ebuilds =3D { + "dev-libs/A-1::old_repo": { }, + "dev-libs/A-2::new_repo": { }, + } + + repo_configs =3D { + "new_repo": { + "layout.conf": + ( + "thin-manifests =3D true", + ), + } + } + + test_cases =3D ( + ResolverPlaygroundTestCase( + ["=3Ddev-libs/A-1"], + mergelist=3D ["dev-libs/A-1"], + success =3D True), + + ResolverPlaygroundTestCase( + ["=3Ddev-libs/A-2"], + mergelist=3D ["dev-libs/A-2"], + success =3D True), + ) + + playground =3D ResolverPlayground(ebuilds=3Debuilds, repo_configs=3Dre= po_configs) + + new_manifest_file =3D os.path.join(playground.repo_dirs["new_repo"], "= dev-libs", "A", "Manifest") + f =3D open(new_manifest_file) + self.assertEqual(len(list(f)), 0) + f.close() + + old_manifest_file =3D os.path.join(playground.repo_dirs["old_repo"], "= dev-libs", "A", "Manifest") + f =3D open(old_manifest_file) + self.assertEqual(len(list(f)), 1) + f.close() + + try: + for test_case in test_cases: + playground.run_TestCase(test_case) + self.assertEqual(test_case.test_success, True, test_case.fail_msg) + finally: + playground.cleanup() diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/porta= ge/tests/resolver/ResolverPlayground.py index 5d7c316..e22121d 100644 --- a/pym/portage/tests/resolver/ResolverPlayground.py +++ b/pym/portage/tests/resolver/ResolverPlayground.py @@ -38,7 +38,8 @@ class ResolverPlayground(object): """ =20 config_files =3D frozenset(("package.use", "package.mask", "package.key= words", \ - "package.unmask", "package.properties", "package.license", "use.mask",= "use.force")) + "package.unmask", "package.properties", "package.license", "use.mask",= "use.force", + "layout.conf",)) =20 metadata_xml_template =3D """ @@ -256,6 +257,8 @@ class ResolverPlayground(object): for repo in self.repo_dirs: repo_dir =3D self._get_repo_dir(repo) profile_dir =3D os.path.join(self._get_repo_dir(repo), "profiles") + metadata_dir =3D os.path.join(repo_dir, "metadata") + os.makedirs(metadata_dir) =20 #Create $REPO/profiles/categories categories =3D set() @@ -283,8 +286,11 @@ class ResolverPlayground(object): for config_file, lines in repo_config.items(): if config_file not in self.config_files: raise ValueError("Unknown config file: '%s'" % config_file) - =09 - file_name =3D os.path.join(profile_dir, config_file) + + if config_file in ("layout.conf",): + file_name =3D os.path.join(repo_dir, "metadata", config_file) + else: + file_name =3D os.path.join(profile_dir, config_file) f =3D open(file_name, "w") for line in lines: f.write("%s\n" % line) @@ -334,8 +340,6 @@ class ResolverPlayground(object): os.symlink(sub_profile_dir, os.path.join(user_config_dir, "make.prof= ile")) =20 #Create minimal herds.xml - metadata_dir =3D os.path.join(repo_dir, "metadata") - os.makedirs(metadata_dir) herds_xml =3D """