summaryrefslogtreecommitdiffstats
path: root/pym/portage/tests
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-19 12:48:24 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-19 12:48:24 -0700
commit60d7d3cf4364a1cc41cf98b57359a0faf1fdc5bd (patch)
treee464bd59dc904f3a16edb998b9838d3fa01b922f /pym/portage/tests
parent61406033e6ae182d9f4a7fceea81871e74f9b0b6 (diff)
downloadportage-60d7d3cf4364a1cc41cf98b57359a0faf1fdc5bd.tar.gz
portage-60d7d3cf4364a1cc41cf98b57359a0faf1fdc5bd.tar.bz2
portage-60d7d3cf4364a1cc41cf98b57359a0faf1fdc5bd.zip
update_dbentry: improve slotmove support
This could be especially useful for "built" slot operator deps, in order to avoid having a slotmove trigger unnecessary rebuilds.
Diffstat (limited to 'pym/portage/tests')
-rw-r--r--pym/portage/tests/update/test_update_dbentry.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/pym/portage/tests/update/test_update_dbentry.py b/pym/portage/tests/update/test_update_dbentry.py
index e13cfed74..ac16a8ae3 100644
--- a/pym/portage/tests/update/test_update_dbentry.py
+++ b/pym/portage/tests/update/test_update_dbentry.py
@@ -6,14 +6,40 @@ import textwrap
import portage
from portage import os
+from portage.dep import Atom
from portage.tests import TestCase
from portage.tests.resolver.ResolverPlayground import ResolverPlayground
+from portage.update import update_dbentry
from portage.util import ensure_dirs
from portage._global_updates import _do_global_updates
class UpdateDbentryTestCase(TestCase):
def testUpdateDbentryTestCase(self):
+ cases = (
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "1",
+ " dev-libs/A:0 ", " dev-libs/A:1 "),
+
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "1",
+ " >=dev-libs/A-1:0 ", " >=dev-libs/A-1:1 "),
+
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "5_pre2",
+ " dev-libs/A:0/1=[foo] ", " dev-libs/A:1/1=[foo] "),
+
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "5_pre2",
+ " dev-libs/A:0/1[foo] ", " dev-libs/A:1/1[foo] "),
+
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "5_pre2",
+ " dev-libs/A:0/0[foo] ", " dev-libs/A:1/1[foo] "),
+
+ (("slotmove", Atom("dev-libs/A"), "0", "1"), "5_pre2",
+ " dev-libs/A:0=[foo] ", " dev-libs/A:1=[foo] "),
+ )
+ for update_cmd, eapi, input_str, output_str in cases:
+ result = update_dbentry(update_cmd, input_str, eapi=eapi)
+ self.assertEqual(result, output_str)
+
+ def testUpdateDbentryDbapiTestCase(self):
ebuilds = {