diff options
Diffstat (limited to 'pym/portage/tests/resolver/test_complete_if_new_subslot_without_revbump.py')
-rw-r--r-- | pym/portage/tests/resolver/test_complete_if_new_subslot_without_revbump.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/pym/portage/tests/resolver/test_complete_if_new_subslot_without_revbump.py b/pym/portage/tests/resolver/test_complete_if_new_subslot_without_revbump.py new file mode 100644 index 000000000..fddbead7c --- /dev/null +++ b/pym/portage/tests/resolver/test_complete_if_new_subslot_without_revbump.py @@ -0,0 +1,74 @@ +# Copyright 2013 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 CompeteIfNewSubSlotWithoutRevBumpTestCase(TestCase): + + def testCompeteIfNewSubSlotWithoutRevBump(self): + + ebuilds = { + "media-libs/libpng-1.5.14" : { + "EAPI": "5", + "SLOT": "0" + }, + + "x11-libs/gdk-pixbuf-2.26.5" : { + "EAPI": "5", + "DEPEND": ">=media-libs/libpng-1.4:=", + "RDEPEND": ">=media-libs/libpng-1.4:=" + }, + } + + binpkgs = { + "x11-libs/gdk-pixbuf-2.26.5" : { + "EAPI": "5", + "DEPEND": ">=media-libs/libpng-1.4:0/15=", + "RDEPEND": ">=media-libs/libpng-1.4:0/15=" + }, + } + + installed = { + "media-libs/libpng-1.5.14" : { + "EAPI": "5", + "SLOT": "0/15" + }, + + "x11-libs/gdk-pixbuf-2.26.5" : { + "EAPI": "5", + "DEPEND": ">=media-libs/libpng-1.4:0/15=", + "RDEPEND": ">=media-libs/libpng-1.4:0/15=" + }, + } + + world = ["x11-libs/gdk-pixbuf"] + + test_cases = ( + # Test that --complete-graph-if-new-ver=y triggers rebuild + # when the sub-slot changes without a revbump. + ResolverPlaygroundTestCase( + ["media-libs/libpng"], + options = { + "--oneshot": True, + "--complete-graph-if-new-ver": "y", + "--rebuild-if-new-slot": "n", + "--usepkg": True + }, + success = True, + mergelist = [ + "media-libs/libpng-1.5.14", + "x11-libs/gdk-pixbuf-2.26.5" + ] + ), + ) + + playground = ResolverPlayground(ebuilds=ebuilds, binpkgs=binpkgs, + 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() |