tests: emerge EAPI 4 from master
authorZac Medico <zmedico@gentoo.org>
Fri, 31 Dec 2010 07:10:36 +0000 (23:10 -0800)
committerZac Medico <zmedico@gentoo.org>
Fri, 31 Dec 2010 07:10:36 +0000 (23:10 -0800)
pym/portage/tests/resolver/test_autounmask.py
pym/portage/tests/resolver/test_circular_dependencies.py
pym/portage/tests/resolver/test_eapi.py
pym/portage/tests/resolver/test_required_use.py
pym/portage/tests/resolver/test_slot_collisions.py
pym/portage/tests/resolver/test_use_dep_defaults.py

index ce3ce38f0737f9b5dad9a5b3032971c2daad2812..50ad85e908904e34d1bddf50c9c8a3176c81e0e7 100644 (file)
@@ -7,6 +7,7 @@ from portage.tests.resolver.ResolverPlayground import ResolverPlayground, Resolv
 class AutounmaskTestCase(TestCase):
 
        def testAutounmask(self):
+
                ebuilds = {
                        #ebuilds to test use changes
                        "dev-libs/A-1": { "SLOT": 1, "DEPEND": "dev-libs/B[foo]", "EAPI": 2}, 
@@ -42,10 +43,10 @@ class AutounmaskTestCase(TestCase):
                        "dev-util/R-1": { "IUSE": "bar" },
 
                        #ebuilds to test interaction with REQUIRED_USE
-                       #~ "app-portage/A-1": { "DEPEND": "app-portage/B[foo]", "EAPI": 2 }, 
-                       #~ "app-portage/A-2": { "DEPEND": "app-portage/B[foo=]", "IUSE": "+foo", "REQUIRED_USE": "foo", "EAPI": 4 }, 
-#~ 
-                       #~ "app-portage/B-1": { "IUSE": "foo +bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": 4 }, 
+                       "app-portage/A-1": { "DEPEND": "app-portage/B[foo]", "EAPI": 2 }, 
+                       "app-portage/A-2": { "DEPEND": "app-portage/B[foo=]", "IUSE": "+foo", "REQUIRED_USE": "foo", "EAPI": "4" }, 
+
+                       "app-portage/B-1": { "IUSE": "foo +bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": "4" }, 
                        }
 
                test_cases = (
@@ -168,16 +169,16 @@ class AutounmaskTestCase(TestCase):
                                        use_changes = { "dev-util/R-1": { "bar": True } }),
 
                                #Test interaction with REQUIRED_USE.
-                               #~ ResolverPlaygroundTestCase(
-                                       #~ ["=app-portage/A-1"],
-                                       #~ options = { "--autounmask": True },
-                                       #~ use_changes = None,
-                                       #~ success = False),
-                               #~ ResolverPlaygroundTestCase(
-                                       #~ ["=app-portage/A-2"],
-                                       #~ options = { "--autounmask": True },
-                                       #~ use_changes = None,
-                                       #~ success = False),
+                               ResolverPlaygroundTestCase(
+                                       ["=app-portage/A-1"],
+                                       options = { "--autounmask": True },
+                                       use_changes = None,
+                                       success = False),
+                               ResolverPlaygroundTestCase(
+                                       ["=app-portage/A-2"],
+                                       options = { "--autounmask": True },
+                                       use_changes = None,
+                                       success = False),
                        )
 
                playground = ResolverPlayground(ebuilds=ebuilds)
index e702986421c492d43d852942840d49365218e7fa..5132659276f2b7829cf9c303497be5b9a36c3c9a 100644 (file)
@@ -16,6 +16,7 @@ class CircularDependencyTestCase(TestCase):
        
 
        def testCircularDependency(self):
+
                ebuilds = {
                        "dev-libs/Z-1": { "DEPEND": "foo? ( !bar? ( dev-libs/Y ) )", "IUSE": "+foo bar", "EAPI": 1 }, 
                        "dev-libs/Z-2": { "DEPEND": "foo? ( dev-libs/Y ) !bar? ( dev-libs/Y )", "IUSE": "+foo bar", "EAPI": 1 }, 
@@ -25,10 +26,10 @@ class CircularDependencyTestCase(TestCase):
                        "dev-libs/W-2": { "DEPEND": "dev-libs/Z[foo=] dev-libs/Y", "IUSE": "+foo", "EAPI": 2 },
                        "dev-libs/W-3": { "DEPEND": "dev-libs/Z[bar] dev-libs/Y", "EAPI": 2 },
 
-                       #~ "app-misc/A-1": { "DEPEND": "foo? ( =app-misc/B-1 )", "IUSE": "+foo bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": 4 },
-                       #~ "app-misc/A-2": { "DEPEND": "foo? ( =app-misc/B-2 ) bar? ( =app-misc/B-2 )", "IUSE": "+foo bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": 4 },
-                       #~ "app-misc/B-1": { "DEPEND": "=app-misc/A-1" },
-                       #~ "app-misc/B-2": { "DEPEND": "=app-misc/A-2" },
+                       "app-misc/A-1": { "DEPEND": "foo? ( =app-misc/B-1 )", "IUSE": "+foo bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": "4" },
+                       "app-misc/A-2": { "DEPEND": "foo? ( =app-misc/B-2 ) bar? ( =app-misc/B-2 )", "IUSE": "+foo bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": "4" },
+                       "app-misc/B-1": { "DEPEND": "=app-misc/A-1" },
+                       "app-misc/B-2": { "DEPEND": "=app-misc/A-2" },
                        }
 
                test_cases = (
@@ -65,14 +66,14 @@ class CircularDependencyTestCase(TestCase):
                                success = False),
 
                        #Conflict with REQUIRED_USE
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=app-misc/B-1"],
-                               #~ circular_dependency_solutions = { "app-misc/B-1": frozenset([frozenset([("foo", False), ("bar", True)])])},
-                               #~ success = False),
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=app-misc/B-2"],
-                               #~ circular_dependency_solutions = {},
-                               #~ success = False),
+                       ResolverPlaygroundTestCase(
+                               ["=app-misc/B-1"],
+                               circular_dependency_solutions = { "app-misc/B-1": frozenset([frozenset([("foo", False), ("bar", True)])])},
+                               success = False),
+                       ResolverPlaygroundTestCase(
+                               ["=app-misc/B-2"],
+                               circular_dependency_solutions = {},
+                               success = False),
                )
 
                playground = ResolverPlayground(ebuilds=ebuilds)
index 65dd0108bb4d204098a83ee021b961050e917cc0..525b58532c014a6cd18dac087bffde1c31ffad02 100644 (file)
@@ -7,55 +7,56 @@ from portage.tests.resolver.ResolverPlayground import ResolverPlayground, Resolv
 class EAPITestCase(TestCase):
 
        def testEAPI(self):
+
                ebuilds = {
                        #EAPI-1: IUSE-defaults
                        "dev-libs/A-1.0": { "EAPI": 0, "IUSE": "+foo" }, 
                        "dev-libs/A-1.1": { "EAPI": 1, "IUSE": "+foo" }, 
                        "dev-libs/A-1.2": { "EAPI": 2, "IUSE": "+foo" }, 
                        "dev-libs/A-1.3": { "EAPI": 3, "IUSE": "+foo" }, 
-                       #~ "dev-libs/A-1.4": { "EAPI": 4, "IUSE": "+foo" }, 
+                       "dev-libs/A-1.4": { "EAPI": "4", "IUSE": "+foo" }, 
 
                        #EAPI-1: slot deps
                        "dev-libs/A-2.0": { "EAPI": 0, "DEPEND": "dev-libs/B:0" }, 
                        "dev-libs/A-2.1": { "EAPI": 1, "DEPEND": "dev-libs/B:0" }, 
                        "dev-libs/A-2.2": { "EAPI": 2, "DEPEND": "dev-libs/B:0" }, 
                        "dev-libs/A-2.3": { "EAPI": 3, "DEPEND": "dev-libs/B:0" }, 
-                       #~ "dev-libs/A-2.4": { "EAPI": 4, "DEPEND": "dev-libs/B:0" }, 
+                       "dev-libs/A-2.4": { "EAPI": "4", "DEPEND": "dev-libs/B:0" }, 
 
                        #EAPI-2: use deps
                        "dev-libs/A-3.0": { "EAPI": 0, "DEPEND": "dev-libs/B[foo]" }, 
                        "dev-libs/A-3.1": { "EAPI": 1, "DEPEND": "dev-libs/B[foo]" }, 
                        "dev-libs/A-3.2": { "EAPI": 2, "DEPEND": "dev-libs/B[foo]" }, 
                        "dev-libs/A-3.3": { "EAPI": 3, "DEPEND": "dev-libs/B[foo]" }, 
-                       #~ "dev-libs/A-3.4": { "EAPI": 4, "DEPEND": "dev-libs/B[foo]" }, 
+                       "dev-libs/A-3.4": { "EAPI": "4", "DEPEND": "dev-libs/B[foo]" }, 
 
                        #EAPI-2: strong blocks
                        "dev-libs/A-4.0": { "EAPI": 0, "DEPEND": "!!dev-libs/B" }, 
                        "dev-libs/A-4.1": { "EAPI": 1, "DEPEND": "!!dev-libs/B" }, 
                        "dev-libs/A-4.2": { "EAPI": 2, "DEPEND": "!!dev-libs/B" }, 
                        "dev-libs/A-4.3": { "EAPI": 3, "DEPEND": "!!dev-libs/B" }, 
-                       #~ "dev-libs/A-4.4": { "EAPI": 4, "DEPEND": "!!dev-libs/B" }, 
+                       "dev-libs/A-4.4": { "EAPI": "4", "DEPEND": "!!dev-libs/B" }, 
 
                        #EAPI-4: slot operator deps
                        #~ "dev-libs/A-5.0": { "EAPI": 0, "DEPEND": "dev-libs/B:*" }, 
                        #~ "dev-libs/A-5.1": { "EAPI": 1, "DEPEND": "dev-libs/B:*" }, 
                        #~ "dev-libs/A-5.2": { "EAPI": 2, "DEPEND": "dev-libs/B:*" }, 
                        #~ "dev-libs/A-5.3": { "EAPI": 3, "DEPEND": "dev-libs/B:*" }, 
-                       #~ "dev-libs/A-5.4": { "EAPI": 4, "DEPEND": "dev-libs/B:*" }, 
-
-                       #EAPI-4: slot operator deps
-                       #~ "dev-libs/A-6.0": { "EAPI": 0, "DEPEND": "dev-libs/B[bar(+)]" }, 
-                       #~ "dev-libs/A-6.1": { "EAPI": 1, "DEPEND": "dev-libs/B[bar(+)]" }, 
-                       #~ "dev-libs/A-6.2": { "EAPI": 2, "DEPEND": "dev-libs/B[bar(+)]" }, 
-                       #~ "dev-libs/A-6.3": { "EAPI": 3, "DEPEND": "dev-libs/B[bar(+)]" }, 
-                       #~ "dev-libs/A-6.4": { "EAPI": 4, "DEPEND": "dev-libs/B[bar(+)]" }, 
+                       #~ "dev-libs/A-5.4": { "EAPI": "4", "DEPEND": "dev-libs/B:*" }, 
+
+                       #EAPI-4: use dep defaults
+                       "dev-libs/A-6.0": { "EAPI": 0, "DEPEND": "dev-libs/B[bar(+)]" }, 
+                       "dev-libs/A-6.1": { "EAPI": 1, "DEPEND": "dev-libs/B[bar(+)]" }, 
+                       "dev-libs/A-6.2": { "EAPI": 2, "DEPEND": "dev-libs/B[bar(+)]" }, 
+                       "dev-libs/A-6.3": { "EAPI": 3, "DEPEND": "dev-libs/B[bar(+)]" }, 
+                       "dev-libs/A-6.4": { "EAPI": "4", "DEPEND": "dev-libs/B[bar(+)]" }, 
                        
                        #EAPI-4: REQUIRED_USE
                        "dev-libs/A-7.0": { "EAPI": 0, "IUSE": "foo bar", "REQUIRED_USE": "|| ( foo bar )" }, 
                        "dev-libs/A-7.1": { "EAPI": 1, "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )" }, 
                        "dev-libs/A-7.2": { "EAPI": 2, "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )" }, 
                        "dev-libs/A-7.3": { "EAPI": 3, "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )" }, 
-                       #~ "dev-libs/A-7.4": { "EAPI": 4, "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )" }, 
+                       "dev-libs/A-7.4": { "EAPI": "4", "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )" }, 
 
                        "dev-libs/B-1": {"EAPI": 1, "IUSE": "+foo"}, 
                        }
@@ -65,43 +66,44 @@ class EAPITestCase(TestCase):
                        ResolverPlaygroundTestCase(["=dev-libs/A-1.1"], success = True, mergelist = ["dev-libs/A-1.1"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-1.2"], success = True, mergelist = ["dev-libs/A-1.2"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-1.3"], success = True, mergelist = ["dev-libs/A-1.3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-1.4"], success = True, mergelist = ["dev-libs/A-1.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-1.4"], success = True, mergelist = ["dev-libs/A-1.4"]),
 
                        ResolverPlaygroundTestCase(["=dev-libs/A-2.0"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-2.1"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-2.1"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-2.2"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-2.2"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-2.3"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-2.3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-2.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-2.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-2.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-2.4"]),
 
                        ResolverPlaygroundTestCase(["=dev-libs/A-3.0"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-3.1"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-3.2"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-3.2"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-3.3"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-3.3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-3.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-3.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-3.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-3.4"]),
 
                        ResolverPlaygroundTestCase(["=dev-libs/A-4.0"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-4.1"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-4.2"], success = True, mergelist = ["dev-libs/A-4.2"]),
                        ResolverPlaygroundTestCase(["=dev-libs/A-4.3"], success = True, mergelist = ["dev-libs/A-4.3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-4.4"], success = True, mergelist = ["dev-libs/A-4.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-4.4"], success = True, mergelist = ["dev-libs/A-4.4"]),
 
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-5.0"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-5.1"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-5.2"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-5.3"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-5.0"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-5.1"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-5.2"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-5.3"], success = False),
+                       # not implemented: EAPI-4: slot operator deps
                        #~ ResolverPlaygroundTestCase(["=dev-libs/A-5.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-5.4"]),
 
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-6.0"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-6.1"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-6.2"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-6.3"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-6.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-6.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-6.0"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-6.1"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-6.2"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-6.3"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-6.4"], success = True, mergelist = ["dev-libs/B-1", "dev-libs/A-6.4"]),
                        
                        ResolverPlaygroundTestCase(["=dev-libs/A-7.0"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-7.1"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-7.2"], success = False),
                        ResolverPlaygroundTestCase(["=dev-libs/A-7.3"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-7.4"], success = True, mergelist = ["dev-libs/A-7.4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-7.4"], success = True, mergelist = ["dev-libs/A-7.4"]),
                )
 
                playground = ResolverPlayground(ebuilds=ebuilds)
index 6835b33c7ba5ee52b3998688b9822034546cc5fe..90ccb3da01b6d1223e948f56aff297d86b231706 100644 (file)
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
-#from portage.tests.resolver.ResolverPlayground import ResolverPlayground, ResolverPlaygroundTestCase
+from portage.tests.resolver.ResolverPlayground import ResolverPlayground, ResolverPlaygroundTestCase
 
 class RequiredUSETestCase(TestCase):
 
@@ -10,37 +10,81 @@ class RequiredUSETestCase(TestCase):
                """
                Only simple REQUIRED_USE values here. The parser is tested under in dep/testCheckRequiredUse
                """
-               #Disabled until we have EAPI-4
-               pass
-
-               #~ ebuilds = {
-                       #~ "dev-libs/A-1": {"EAPI": 4, "IUSE": "foo bar", "REQUIRED_USE": "|| ( foo bar )"},
-                       #~ "dev-libs/A-2": {"EAPI": 4, "IUSE": "foo +bar", "REQUIRED_USE": "|| ( foo bar )"},
-                       #~ "dev-libs/A-3": {"EAPI": 4, "IUSE": "+foo bar", "REQUIRED_USE": "|| ( foo bar )"},
-                       #~ "dev-libs/A-4": {"EAPI": 4, "IUSE": "+foo +bar", "REQUIRED_USE": "|| ( foo bar )"},
-#~ 
-                       #~ "dev-libs/B-1": {"EAPI": 4, "IUSE": "foo bar", "REQUIRED_USE": "^^ ( foo bar )"},
-                       #~ "dev-libs/B-2": {"EAPI": 4, "IUSE": "foo +bar", "REQUIRED_USE": "^^ ( foo bar )"},
-                       #~ "dev-libs/B-3": {"EAPI": 4, "IUSE": "+foo bar", "REQUIRED_USE": "^^ ( foo bar )"},
-                       #~ "dev-libs/B-4": {"EAPI": 4, "IUSE": "+foo +bar", "REQUIRED_USE": "^^ ( foo bar )"},
-                       #~ }
-#~ 
-               #~ test_cases = (
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-1"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-2"], success = True, mergelist=["dev-libs/A-2"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-3"], success = True, mergelist=["dev-libs/A-3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/A-4"], success = True, mergelist=["dev-libs/A-4"]),
-#~ 
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/B-1"], success = False),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/B-2"], success = True, mergelist=["dev-libs/B-2"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/B-3"], success = True, mergelist=["dev-libs/B-3"]),
-                       #~ ResolverPlaygroundTestCase(["=dev-libs/B-4"], success = False),
-                       #~ )
-#~ 
-               #~ playground = ResolverPlayground(ebuilds=ebuilds)
-               #~ 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()
+
+               ebuilds = {
+                       "dev-libs/A-1" : {"EAPI": "4", "IUSE": "foo bar",   "REQUIRED_USE": "|| ( foo bar )"},
+                       "dev-libs/A-2" : {"EAPI": "4", "IUSE": "foo +bar",  "REQUIRED_USE": "|| ( foo bar )"},
+                       "dev-libs/A-3" : {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "|| ( foo bar )"},
+                       "dev-libs/A-4" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "|| ( foo bar )"},
+                       "dev-libs/A-5" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "|| ( )"},
+
+                       "dev-libs/B-1" : {"EAPI": "4", "IUSE": "foo bar",   "REQUIRED_USE": "^^ ( foo bar )"},
+                       "dev-libs/B-2" : {"EAPI": "4", "IUSE": "foo +bar",  "REQUIRED_USE": "^^ ( foo bar )"},
+                       "dev-libs/B-3" : {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "^^ ( foo bar )"},
+                       "dev-libs/B-4" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "^^ ( foo bar )"},
+                       "dev-libs/B-5" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "^^ ( )"},
+
+                       "dev-libs/C-1" : {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "foo? ( !bar )"},
+                       "dev-libs/C-2" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "foo? ( !bar )"},
+                       "dev-libs/C-3" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "foo? ( bar )"},
+                       "dev-libs/C-4" : {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "foo? ( bar )"},
+                       "dev-libs/C-5" : {"EAPI": "4", "IUSE": "foo bar",   "REQUIRED_USE": "foo? ( bar )"},
+                       "dev-libs/C-6" : {"EAPI": "4", "IUSE": "foo +bar",  "REQUIRED_USE": "foo? ( bar )"},
+                       "dev-libs/C-7" : {"EAPI": "4", "IUSE": "foo +bar",  "REQUIRED_USE": "!foo? ( bar )"},
+                       "dev-libs/C-8" : {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "!foo? ( bar )"},
+                       "dev-libs/C-9" : {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "!foo? ( bar )"},
+                       "dev-libs/C-10": {"EAPI": "4", "IUSE": "foo bar",   "REQUIRED_USE": "!foo? ( bar )"},
+                       "dev-libs/C-11": {"EAPI": "4", "IUSE": "foo bar",   "REQUIRED_USE": "!foo? ( !bar )"},
+                       "dev-libs/C-12": {"EAPI": "4", "IUSE": "foo +bar",  "REQUIRED_USE": "!foo? ( !bar )"},
+                       "dev-libs/C-13": {"EAPI": "4", "IUSE": "+foo +bar", "REQUIRED_USE": "!foo? ( !bar )"},
+                       "dev-libs/C-14": {"EAPI": "4", "IUSE": "+foo bar",  "REQUIRED_USE": "!foo? ( !bar )"},
+
+                       "dev-libs/D-1" : {"EAPI": "4", "IUSE": "+w +x +y z",    "REQUIRED_USE": "w? ( x || ( y z ) )"},
+                       "dev-libs/D-2" : {"EAPI": "4", "IUSE": "+w +x +y +z",   "REQUIRED_USE": "w? ( x || ( y z ) )"},
+                       "dev-libs/D-3" : {"EAPI": "4", "IUSE": "+w +x y z",     "REQUIRED_USE": "w? ( x || ( y z ) )"},
+                       "dev-libs/D-4" : {"EAPI": "4", "IUSE": "+w x +y +z",    "REQUIRED_USE": "w? ( x || ( y z ) )"},
+                       "dev-libs/D-5" : {"EAPI": "4", "IUSE": "w x y z",       "REQUIRED_USE": "w? ( x || ( y z ) )"},
+                       }
+
+               test_cases = (
+                       ResolverPlaygroundTestCase(["=dev-libs/A-1"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-2"], success = True, mergelist=["dev-libs/A-2"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-3"], success = True, mergelist=["dev-libs/A-3"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-4"], success = True, mergelist=["dev-libs/A-4"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/A-5"], success = True, mergelist=["dev-libs/A-5"]),
+
+                       ResolverPlaygroundTestCase(["=dev-libs/B-1"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/B-2"], success = True, mergelist=["dev-libs/B-2"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/B-3"], success = True, mergelist=["dev-libs/B-3"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/B-4"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/B-5"], success = True, mergelist=["dev-libs/B-5"]),
+
+                       ResolverPlaygroundTestCase(["=dev-libs/C-1"],  success = True, mergelist=["dev-libs/C-1"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-2"],  success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-3"],  success = True, mergelist=["dev-libs/C-3"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-4"],  success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-5"],  success = True, mergelist=["dev-libs/C-5"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-6"],  success = True, mergelist=["dev-libs/C-6"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-7"],  success = True, mergelist=["dev-libs/C-7"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-8"],  success = True, mergelist=["dev-libs/C-8"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-9"],  success = True, mergelist=["dev-libs/C-9"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-10"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-11"], success = True, mergelist=["dev-libs/C-11"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-12"], success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-13"], success = True, mergelist=["dev-libs/C-13"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/C-14"], success = True, mergelist=["dev-libs/C-14"]),
+
+                       ResolverPlaygroundTestCase(["=dev-libs/D-1"],  success = True, mergelist=["dev-libs/D-1"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/D-2"],  success = True, mergelist=["dev-libs/D-2"]),
+                       ResolverPlaygroundTestCase(["=dev-libs/D-3"],  success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/D-4"],  success = False),
+                       ResolverPlaygroundTestCase(["=dev-libs/D-5"],  success = True, mergelist=["dev-libs/D-5"]),
+                       )
+
+               playground = ResolverPlayground(ebuilds=ebuilds)
+               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()
index 348a06664e9eca581c37f066d7872f5900fdc4e1..6f61c6c31fdb71c02f3f853849d31486418c2b84 100644 (file)
@@ -27,9 +27,9 @@ class SlotCollisionTestCase(TestCase):
                        "sci-libs/L-1": { "DEPEND": "sci-libs/K[-foo]", "EAPI": 2 },
                        "sci-libs/M-1": { "DEPEND": "sci-libs/K[foo=]", "IUSE": "+foo", "EAPI": 2 },
 
-                       #~ "app-misc/A-1": { "IUSE": "foo +bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": 4 },
-                       #~ "app-misc/B-1": { "DEPEND": "=app-misc/A-1[foo=]", "IUSE": "foo", "EAPI": 2 },
-                       #~ "app-misc/C-1": { "DEPEND": "=app-misc/A-1[foo]", "EAPI": 2 },
+                       "app-misc/A-1": { "IUSE": "foo +bar", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": "4" },
+                       "app-misc/B-1": { "DEPEND": "=app-misc/A-1[foo=]", "IUSE": "foo", "EAPI": 2 },
+                       "app-misc/C-1": { "DEPEND": "=app-misc/A-1[foo]", "EAPI": 2 },
                        "app-misc/E-1": { "RDEPEND": "dev-libs/E[foo?]", "IUSE": "foo", "EAPI": "2" },
                        "app-misc/F-1": { "RDEPEND": "=dev-libs/E-1", "IUSE": "foo", "EAPI": "2" },
                        }
@@ -42,7 +42,7 @@ class SlotCollisionTestCase(TestCase):
                        "sci-libs/K-1": { "IUSE": "foo", "USE": "" },
                        "sci-libs/L-1": { "DEPEND": "sci-libs/K[-foo]" },
 
-                       #~ "app-misc/A-1": { "IUSE": "+foo bar", "USE": "foo", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": 4 },
+                       "app-misc/A-1": { "IUSE": "+foo bar", "USE": "foo", "REQUIRED_USE": "^^ ( foo bar )", "EAPI": "4" },
                        }
 
                test_cases = (
@@ -88,13 +88,13 @@ class SlotCollisionTestCase(TestCase):
                                ),
 
                        #Conflict with REQUIRED_USE
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=app-misc/C-1", "=app-misc/B-1"],
-                               #~ all_permutations = True,
-                               #~ slot_collision_solutions = [],
-                               #~ mergelist = ["app-misc/A-1", "app-misc/C-1", "app-misc/B-1"],
-                               #~ ignore_mergelist_order = True,
-                               #~ success = False),
+                       ResolverPlaygroundTestCase(
+                               ["=app-misc/C-1", "=app-misc/B-1"],
+                               all_permutations = True,
+                               slot_collision_solutions = [],
+                               mergelist = ["app-misc/A-1", "app-misc/C-1", "app-misc/B-1"],
+                               ignore_mergelist_order = True,
+                               success = False),
                        )
 
                playground = ResolverPlayground(ebuilds=ebuilds, installed=installed)
index 0ddcd38368fc1f2568df68ff00d524e6e5899bbe..7d171066e246f685a64d341f7226d848047d86cc 100644 (file)
@@ -2,39 +2,39 @@
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
-#from portage.tests.resolver.ResolverPlayground import ResolverPlayground, ResolverPlaygroundTestCase
+from portage.tests.resolver.ResolverPlayground import ResolverPlayground, ResolverPlaygroundTestCase
 
 class UseDepDefaultsTestCase(TestCase):
 
        def testUseDepDefaultse(self):
-               pass
-               #~ ebuilds = {
-                       #~ "dev-libs/A-1": { "DEPEND": "dev-libs/B[foo]", "RDEPEND": "dev-libs/B[foo]", "EAPI": 2 },
-                       #~ "dev-libs/A-2": { "DEPEND": "dev-libs/B[foo(+)]", "RDEPEND": "dev-libs/B[foo(+)]", "EAPI": 4 },
-                       #~ "dev-libs/A-3": { "DEPEND": "dev-libs/B[foo(-)]", "RDEPEND": "dev-libs/B[foo(-)]", "EAPI": 4 },
-                       #~ "dev-libs/B-1": { "IUSE": "+foo", "EAPI": 1 },
-                       #~ "dev-libs/B-2": {},
-                       #~ }
-#~ 
-               #~ test_cases = (
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=dev-libs/A-1"],
-                               #~ success = True,
-                               #~ mergelist = ["dev-libs/B-1", "dev-libs/A-1"]),
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=dev-libs/A-2"],
-                               #~ success = True,
-                               #~ mergelist = ["dev-libs/B-2", "dev-libs/A-2"]),
-                       #~ ResolverPlaygroundTestCase(
-                               #~ ["=dev-libs/A-3"],
-                               #~ success = True,
-                               #~ mergelist = ["dev-libs/B-1", "dev-libs/A-3"]),
-                       #~ )
-#~ 
-               #~ playground = ResolverPlayground(ebuilds=ebuilds)
-               #~ 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()
+
+               ebuilds = {
+                       "dev-libs/A-1": { "DEPEND": "dev-libs/B[foo]", "RDEPEND": "dev-libs/B[foo]", "EAPI": "2" },
+                       "dev-libs/A-2": { "DEPEND": "dev-libs/B[foo(+)]", "RDEPEND": "dev-libs/B[foo(+)]", "EAPI": "4" },
+                       "dev-libs/A-3": { "DEPEND": "dev-libs/B[foo(-)]", "RDEPEND": "dev-libs/B[foo(-)]", "EAPI": "4" },
+                       "dev-libs/B-1": { "IUSE": "+foo", "EAPI": "1" },
+                       "dev-libs/B-2": {},
+                       }
+
+               test_cases = (
+                       ResolverPlaygroundTestCase(
+                               ["=dev-libs/A-1"],
+                               success = True,
+                               mergelist = ["dev-libs/B-1", "dev-libs/A-1"]),
+                       ResolverPlaygroundTestCase(
+                               ["=dev-libs/A-2"],
+                               success = True,
+                               mergelist = ["dev-libs/B-2", "dev-libs/A-2"]),
+                       ResolverPlaygroundTestCase(
+                               ["=dev-libs/A-3"],
+                               success = True,
+                               mergelist = ["dev-libs/B-1", "dev-libs/A-3"]),
+                       )
+
+               playground = ResolverPlayground(ebuilds=ebuilds)
+               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()