diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-09-21 12:32:19 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-09-21 12:32:19 -0700 |
commit | 2733ea17d8e25db8dd369e8890337ddb553e2509 (patch) | |
tree | 8017996740d2d9bc780eeed5592a77513c02a041 /pym/portage | |
parent | f127d25373a42f3200a331b7f2641a1cf0e90b50 (diff) | |
download | portage-2733ea17d8e25db8dd369e8890337ddb553e2509.tar.gz portage-2733ea17d8e25db8dd369e8890337ddb553e2509.tar.bz2 portage-2733ea17d8e25db8dd369e8890337ddb553e2509.zip |
emerge: add --complete-graph-if-new-ver < y | n >
Trigger the --complete-graph behavior if an installed package version will
change (upgrade or downgrade). This option is enabled by default.
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/tests/resolver/test_complete_graph.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/pym/portage/tests/resolver/test_complete_graph.py b/pym/portage/tests/resolver/test_complete_graph.py new file mode 100644 index 000000000..07206430e --- /dev/null +++ b/pym/portage/tests/resolver/test_complete_graph.py @@ -0,0 +1,66 @@ +# Copyright 2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +from portage.tests import TestCase +from portage.tests.resolver.ResolverPlayground import (ResolverPlayground, + ResolverPlaygroundTestCase) + +class CompleteGraphTestCase(TestCase): + + def testCompleteGraphVersionChange(self): + """ + Prevent reverse dependency breakage triggered by version changes. + """ + + ebuilds = { + "sys-libs/x-0.1": {}, + "sys-libs/x-1": {}, + "sys-libs/x-2": {}, + "sys-apps/a-1": {"RDEPEND" : ">=sys-libs/x-1 <sys-libs/x-2"}, + } + + installed = { + "sys-libs/x-1": {}, + "sys-apps/a-1": {"RDEPEND" : ">=sys-libs/x-1 <sys-libs/x-2"}, + } + + world = ["sys-apps/a"] + + test_cases = ( + ResolverPlaygroundTestCase( + [">=sys-libs/x-2"], + options = {"--complete-graph-if-new-ver" : "n"}, + mergelist = ["sys-libs/x-2"], + success = True, + ), + ResolverPlaygroundTestCase( + [">=sys-libs/x-2"], + options = {"--complete-graph-if-new-ver" : "y"}, + mergelist = ["sys-libs/x-2"], + slot_collision_solutions = [], + success = False, + ), + ResolverPlaygroundTestCase( + ["<sys-libs/x-1"], + options = {"--complete-graph-if-new-ver" : "n"}, + mergelist = ["sys-libs/x-0.1"], + success = True, + ), + ResolverPlaygroundTestCase( + ["<sys-libs/x-1"], + options = {"--complete-graph-if-new-ver" : "y"}, + mergelist = ["sys-libs/x-0.1"], + slot_collision_solutions = [], + success = False, + ), + ) + + playground = ResolverPlayground(ebuilds=ebuilds, + installed=installed, world=world, debug=False) + + 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() |