diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-12-01 15:22:59 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-12-01 15:22:59 -0800 |
commit | 4b897286cf94c6ec2c556a75ea2e67798e1157cc (patch) | |
tree | d059e2933da02ef535f3292eb51c2ab94bd7286d /pym/portage | |
parent | d86595e92193fd6b2b76365d01a13147c21bf75f (diff) | |
download | portage-4b897286cf94c6ec2c556a75ea2e67798e1157cc.tar.gz portage-4b897286cf94c6ec2c556a75ea2e67798e1157cc.tar.bz2 portage-4b897286cf94c6ec2c556a75ea2e67798e1157cc.zip |
emerge --depclean: rm unavailable slot bug 445506
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/tests/resolver/test_depclean_slot_unavailable.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/pym/portage/tests/resolver/test_depclean_slot_unavailable.py b/pym/portage/tests/resolver/test_depclean_slot_unavailable.py new file mode 100644 index 000000000..9d1718971 --- /dev/null +++ b/pym/portage/tests/resolver/test_depclean_slot_unavailable.py @@ -0,0 +1,79 @@ +# Copyright 2012 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 DepcleanUnavailableSlotTestCase(TestCase): + + def testDepcleanUnavailableSlot(self): + """ + Test bug #445506, where we want to remove the slot + for which the ebuild is no longer available, even + though its version is higher. + """ + + ebuilds = { + "sys-kernel/gentoo-sources-3.0.53": { + "SLOT": "3.0.53", + "KEYWORDS": "x86" + }, + } + + installed = { + "sys-kernel/gentoo-sources-3.0.53": { + "SLOT": "3.0.53", + "KEYWORDS": "x86" + }, + "sys-kernel/gentoo-sources-3.2.21": { + "SLOT": "3.2.21", + "KEYWORDS": "x86" + }, + } + + world = [ "sys-kernel/gentoo-sources" ] + + test_cases = ( + + ResolverPlaygroundTestCase( + [], + options = {"--depclean": True}, + success = True, + cleanlist = ["sys-kernel/gentoo-sources-3.2.21"]), + ) + + 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() + + # Now make the newer version availale and verify that + # the lower version is depcleaned. + ebuilds.update({ + "sys-kernel/gentoo-sources-3.2.21": { + "SLOT": "3.2.21", + "KEYWORDS": "x86" + }, + }) + + test_cases = ( + ResolverPlaygroundTestCase( + [], + options = {"--depclean": True}, + success = True, + cleanlist = ["sys-kernel/gentoo-sources-3.0.53"]), + ) + + 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() |