Test direct virtual circular dep for bug #384107.
authorZac Medico <zmedico@gentoo.org>
Thu, 22 Sep 2011 19:06:18 +0000 (12:06 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 22 Sep 2011 19:06:18 +0000 (12:06 -0700)
pym/portage/tests/resolver/test_circular_choices.py

index 57f76b96c95c2cd3a19e9d2be8fb2bbc2de2bddf..33b73062726a90fbf30550f23c3776e75e3251ec 100644 (file)
@@ -30,3 +30,32 @@ class CircularChoicesTestCase(TestCase):
                                self.assertEqual(test_case.test_success, True, test_case.fail_msg)
                finally:
                        playground.cleanup()
+
+class VirtualCircularChoicesTestCase(TestCase):
+       def testDirectVirtualCircularDependency(self):
+
+               # Bug #384107
+               self.todo = True
+
+               ebuilds = {
+                       "dev-java/icedtea-6.1.10.3": { "SLOT" : "6", "DEPEND": "virtual/jdk" },
+                       "dev-java/icedtea6-bin-1.10.3": {},
+                       "virtual/jdk-1.6.0": { "SLOT" : "1.6", "RDEPEND": "|| ( dev-java/icedtea6-bin =dev-java/icedtea-6* )" },
+               }
+
+               test_cases = (
+                       # Automatically pull in icedtea6-bin to solve a circular dep
+                       ResolverPlaygroundTestCase(
+                               ["dev-java/icedtea"],
+                               mergelist = ["dev-java/icedtea6-bin-1.10.3", "virtual/jdk-1.6.0", "dev-java/icedtea-6.1.10.3"],
+                               success = True,
+                       ),
+               )
+
+               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()