commit:     3f6afc11b91a9f327476593086cfa2bf16f205f4
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Wed Feb 26 14:29:53 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar  9 21:54:05 2025 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=3f6afc11

tests: resolver: Add xfail test for D bootstrap chain (bug #950310)

Bug: https://bugs.gentoo.org/950310
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/portage/pull/1428
Signed-off-by: Sam James <sam <AT> gentoo.org>

 lib/portage/tests/resolver/test_bootstrap_deps.py | 58 +++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/lib/portage/tests/resolver/test_bootstrap_deps.py 
b/lib/portage/tests/resolver/test_bootstrap_deps.py
index ac8f4eecd1..bcab0048dc 100644
--- a/lib/portage/tests/resolver/test_bootstrap_deps.py
+++ b/lib/portage/tests/resolver/test_bootstrap_deps.py
@@ -11,6 +11,64 @@ from portage.tests.resolver.ResolverPlayground import (
 
 
 class BootstrapChainTestCase(TestCase):
+    @pytest.mark.xfail(reason="bug #950310")
+    def testBootstrapChain(self):
+        ebuilds = {
+            "dev-libs/A-1": {
+                "EAPI": "8",
+                "SLOT": "1",
+            },
+            "dev-libs/A-2": {
+                "EAPI": "8",
+                "SLOT": "2",
+                "IUSE": "B",
+                "BDEPEND": "B? ( || ( dev-libs/A:2[B(+)] <dev-libs/A-2[B(+)] 
<dev-libs/A-2[B(+)] ) )",
+            },
+            "dev-libs/A-3": {
+                "EAPI": "8",
+                "SLOT": "3",
+                "IUSE": "B",
+                "BDEPEND": "B? ( || ( dev-libs/A:3[B(+)] <dev-libs/A-3[B(+)] 
<dev-libs/A-2[B(+)] ) )",
+            },
+            "dev-libs/A-4": {
+                "EAPI": "8",
+                "SLOT": "4",
+                "IUSE": "B",
+                "BDEPEND": "B? ( || ( dev-libs/A:4[B(+)] <dev-libs/A-4[B(+)] 
<dev-libs/A-2[B(+)] ) )",
+            },
+        }
+
+        installed = {
+            "dev-libs/A-4": {
+                "SLOT": "4",
+                "IUSE": "B",
+                "USE": "",
+                "BDEPEND": "B? ( || ( dev-libs/A:4[B(+)] <dev-libs/A-4[B(+)] 
<dev-libs/A-2[B(+)] ) )",
+            },
+        }
+
+        user_config = {
+            "package.use": ("dev-libs/A B",),
+        }
+
+        test_cases = (
+            ResolverPlaygroundTestCase(
+                ["dev-libs/A:4"],
+                success=True,
+                mergelist=["dev-libs/A-1", "dev-libs/A-4"],
+            ),
+        )
+
+        playground = ResolverPlayground(
+            ebuilds=ebuilds, installed=installed, user_config=user_config, 
debug=True
+        )
+        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()
+
     @pytest.mark.xfail(reason="bug #947587")
     def testBootstrapChainWithShortcut(self):
         ebuilds = {

Reply via email to