From 34fd6700ba3ff1e18865322b37be31851570ab83 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 13 Sep 2012 12:37:28 -0700 Subject: repoman: test package.use.stable.mask --- pym/portage/tests/repoman/test_simple.py | 35 +++++++++++++++++++++++- pym/portage/tests/resolver/ResolverPlayground.py | 12 ++++---- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/pym/portage/tests/repoman/test_simple.py b/pym/portage/tests/repoman/test_simple.py index eab06d9b8..639ec31ea 100644 --- a/pym/portage/tests/repoman/test_simple.py +++ b/pym/portage/tests/repoman/test_simple.py @@ -78,7 +78,22 @@ class SimpleRepomanTestCase(TestCase): ("x86", "default/linux/x86/test_profile", "stable"), ) + profile = { + "eapi": ("5_pre2",), + "package.use.stable.mask": ("dev-libs/A flag",) + } + ebuilds = { + "dev-libs/A-0": { + "COPYRIGHT_HEADER" : copyright_header, + "DESCRIPTION" : "Desc goes here", + "EAPI" : "5_pre2", + "HOMEPAGE" : "http://example.com", + "IUSE" : "flag", + "KEYWORDS": "x86", + "LICENSE": "GPL-2", + "RDEPEND": "flag? ( dev-libs/B[flag] )", + }, "dev-libs/A-1": { "COPYRIGHT_HEADER" : copyright_header, "DESCRIPTION" : "Desc goes here", @@ -98,6 +113,17 @@ class SimpleRepomanTestCase(TestCase): "KEYWORDS": "~x86", "LICENSE": "GPL-2", }, + "dev-libs/C-0": { + "COPYRIGHT_HEADER" : copyright_header, + "DESCRIPTION" : "Desc goes here", + "EAPI" : "4", + "HOMEPAGE" : "http://example.com", + "IUSE" : "flag", + # must be unstable, since dev-libs/A[flag] is stable masked + "KEYWORDS": "~x86", + "LICENSE": "GPL-2", + "RDEPEND": "flag? ( dev-libs/A[flag] )", + }, } licenses = ["GPL-2"] arch_list = ["x86"] @@ -117,6 +143,13 @@ class SimpleRepomanTestCase(TestCase): "flags" : "Description of how USE='flag' affects this package", }, ), + ( + "dev-libs/C", + { + "herd" : "no-herd", + "flags" : "Description of how USE='flag' affects this package", + }, + ), ) use_desc = ( @@ -124,7 +157,7 @@ class SimpleRepomanTestCase(TestCase): ) playground = ResolverPlayground(ebuilds=ebuilds, - repo_configs=repo_configs, debug=debug) + profile=profile, repo_configs=repo_configs, debug=debug) settings = playground.settings eprefix = settings["EPREFIX"] eroot = settings["EROOT"] diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py index 0ac209761..324ef9dd7 100644 --- a/pym/portage/tests/resolver/ResolverPlayground.py +++ b/pym/portage/tests/resolver/ResolverPlayground.py @@ -34,7 +34,8 @@ class ResolverPlayground(object): its work. """ - config_files = frozenset(("package.accept_keywords", "package.use", "package.mask", "package.keywords", \ + config_files = frozenset(("eapi", "package.accept_keywords", "package.use", + "package.use.stable.mask", "package.mask", "package.keywords", "package.unmask", "package.properties", "package.license", "use.mask", "use.force", "layout.conf",)) @@ -344,10 +345,11 @@ class ResolverPlayground(object): sub_profile_dir = os.path.join(profile_dir, "default", "linux", "x86", "test_profile") os.makedirs(sub_profile_dir) - eapi_file = os.path.join(sub_profile_dir, "eapi") - f = open(eapi_file, "w") - f.write("0\n") - f.close() + if not (profile and "eapi" in profile): + eapi_file = os.path.join(sub_profile_dir, "eapi") + f = open(eapi_file, "w") + f.write("0\n") + f.close() make_defaults_file = os.path.join(sub_profile_dir, "make.defaults") f = open(make_defaults_file, "w") -- cgit v1.2.3-1-g7c22