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 = {
