1 # Copyright 2011 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
4 from portage.tests import TestCase
5 from portage.tests.resolver.ResolverPlayground import (ResolverPlayground,
6 ResolverPlaygroundTestCase)
8 class ResolverDepthTestCase(TestCase):
10 def testResolverDepth(self):
13 "dev-libs/A-1": {"RDEPEND" : "dev-libs/B"},
14 "dev-libs/A-2": {"RDEPEND" : "dev-libs/B"},
15 "dev-libs/B-1": {"RDEPEND" : "dev-libs/C"},
16 "dev-libs/B-2": {"RDEPEND" : "dev-libs/C"},
22 "dev-libs/A-1": {"RDEPEND" : "dev-libs/B"},
23 "dev-libs/B-1": {"RDEPEND" : "dev-libs/C"},
27 world = ["dev-libs/A"]
30 ResolverPlaygroundTestCase(
32 options = {"--update": True, "--deep": 0},
34 mergelist = ["dev-libs/A-2"]),
36 ResolverPlaygroundTestCase(
38 options = {"--update": True, "--deep": 1},
40 mergelist = ["dev-libs/B-2", "dev-libs/A-2"]),
42 ResolverPlaygroundTestCase(
44 options = {"--update": True, "--deep": 2},
46 mergelist = ["dev-libs/C-2", "dev-libs/B-2", "dev-libs/A-2"]),
48 ResolverPlaygroundTestCase(
50 options = {"--update": True, "--deep": True},
52 mergelist = ["dev-libs/C-2", "dev-libs/B-2", "dev-libs/A-2"]),
54 ResolverPlaygroundTestCase(
56 options = {"--emptytree": True},
58 mergelist = ["dev-libs/C-2", "dev-libs/B-2", "dev-libs/A-2"]),
60 ResolverPlaygroundTestCase(
62 options = {"--selective": True, "--deep": True},
66 ResolverPlaygroundTestCase(
68 options = {"--deep": 2},
70 mergelist = ["dev-libs/A-2"]),
73 playground = ResolverPlayground(ebuilds=ebuilds, installed=installed,
76 for test_case in test_cases:
77 playground.run_TestCase(test_case)
78 self.assertEqual(test_case.test_success, True, test_case.fail_msg)