From: Zac Medico Date: Sun, 22 May 2011 19:43:03 +0000 (-0700) Subject: test_merge_order: test many-to-one blocks X-Git-Tag: v2.1.9.50~43 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=86d31a19209544e1d72ace3cebc9a8172dd1a64d;p=portage.git test_merge_order: test many-to-one blocks --- diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py index 4a04dc0e1..fed937d1b 100644 --- a/pym/portage/tests/resolver/ResolverPlayground.py +++ b/pym/portage/tests/resolver/ResolverPlayground.py @@ -521,8 +521,9 @@ class ResolverPlaygroundTestCase(object): continue new_expected.append(set()) for cpv in obj: - a = Atom("="+cpv, allow_repo=True) - new_expected[-1].add(a.cpv) + if cpv[:1] != "!": + cpv = Atom("="+cpv, allow_repo=True).cpv + new_expected[-1].add(cpv) expected = new_expected if self.ignore_mergelist_order and got is not None: got = set(got) diff --git a/pym/portage/tests/resolver/test_merge_order.py b/pym/portage/tests/resolver/test_merge_order.py index fdbfcb54d..2df3a9963 100644 --- a/pym/portage/tests/resolver/test_merge_order.py +++ b/pym/portage/tests/resolver/test_merge_order.py @@ -19,6 +19,7 @@ class MergeOrderTestCase(TestCase): }, "app-misc/blocker-update-order-a-1" : {}, "app-misc/blocker-runtime-a-1" : {}, + "app-misc/blocker-runtime-b-1" : {}, "app-misc/blocker-runtime-hard-a-1" : {}, "app-misc/circ-buildtime-a-0": {}, "app-misc/circ-buildtime-a-1": { @@ -80,7 +81,7 @@ class MergeOrderTestCase(TestCase): "app-misc/installed-blocker-a-1" : { "EAPI" : "2", "DEPEND" : "!app-misc/blocker-buildtime-a", - "RDEPEND" : "!app-misc/blocker-runtime-a !!app-misc/blocker-runtime-hard-a", + "RDEPEND" : "!app-misc/blocker-runtime-a !app-misc/blocker-runtime-b !!app-misc/blocker-runtime-hard-a", }, "app-misc/installed-old-version-blocks-a-1" : { "RDEPEND" : "!app-misc/blocker-update-order-a", @@ -112,7 +113,7 @@ class MergeOrderTestCase(TestCase): "app-misc/installed-blocker-a-1" : { "EAPI" : "2", "DEPEND" : "!app-misc/blocker-buildtime-a", - "RDEPEND" : "!app-misc/blocker-runtime-a !!app-misc/blocker-runtime-hard-a", + "RDEPEND" : "!app-misc/blocker-runtime-a !app-misc/blocker-runtime-b !!app-misc/blocker-runtime-hard-a", }, "app-misc/installed-old-version-blocks-a-1" : { "RDEPEND" : "!app-misc/blocker-update-order-a", @@ -181,13 +182,17 @@ class MergeOrderTestCase(TestCase): success = True, all_permutations = True, mergelist = ["app-misc/installed-old-version-blocks-a-2", "app-misc/blocker-update-order-a-1"]), - # installed package has runtime blocker that - # should cause it to be uninstalled + # The installed package has runtime blockers that + # should cause it to be uninstalled. The uninstall + # task is executed only after blocking packages have + # been merged. # TODO: distinguish between install/uninstall tasks in mergelist ResolverPlaygroundTestCase( - ["app-misc/blocker-runtime-a"], + ["app-misc/blocker-runtime-a", "app-misc/blocker-runtime-b"], success = True, - mergelist = ["app-misc/blocker-runtime-a-1", "app-misc/installed-blocker-a-1", "!app-misc/blocker-runtime-a"]), + all_permutations = True, + ambiguous_merge_order = True, + mergelist = [("app-misc/blocker-runtime-a-1", "app-misc/blocker-runtime-b-1"), "app-misc/installed-blocker-a-1", ("!app-misc/blocker-runtime-a", "!app-misc/blocker-runtime-b")]), # We have a soft buildtime blocker against an installed # package that should cause it to be uninstalled. Note that with # soft blockers, the blocking packages are allowed to temporarily