From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3B47E158008 for ; Fri, 16 Jun 2023 03:34:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 79BB0E0976; Fri, 16 Jun 2023 03:34:57 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 61BB6E0976 for ; Fri, 16 Jun 2023 03:34:57 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7D002340E2A for ; Fri, 16 Jun 2023 03:34:56 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C4CA3A66 for ; Fri, 16 Jun 2023 03:34:54 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1686886486.2af4bc17d1b4ea1581bb191dfa7f34ec64ab140b.sam@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/tests/resolver/ X-VCS-Repository: proj/portage X-VCS-Files: lib/portage/tests/resolver/test_slot_conflict_blocked_prune.py X-VCS-Directories: lib/portage/tests/resolver/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 2af4bc17d1b4ea1581bb191dfa7f34ec64ab140b X-VCS-Branch: master Date: Fri, 16 Jun 2023 03:34:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 99687ea3-8245-4555-b270-ef30a7710418 X-Archives-Hash: 7672cd8a0f1fa9a7bb93af4d075b8ac5 commit: 2af4bc17d1b4ea1581bb191dfa7f34ec64ab140b Author: YiFei Zhu gmail com> AuthorDate: Mon Jun 12 02:07:39 2023 +0000 Commit: Sam James gentoo org> CommitDate: Fri Jun 16 03:34:46 2023 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=2af4bc17 tests: resolver: Test the (bad) behavior of bug #622270 Without fixing the bug. This is so we have a baseline behavior to compare against. Bug: https://bugs.gentoo.org/439688 Bug: https://bugs.gentoo.org/622270 Signed-off-by: YiFei Zhu gmail.com> Signed-off-by: Sam James gentoo.org> .../resolver/test_slot_conflict_blocked_prune.py | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/lib/portage/tests/resolver/test_slot_conflict_blocked_prune.py b/lib/portage/tests/resolver/test_slot_conflict_blocked_prune.py new file mode 100644 index 000000000..14e98cd00 --- /dev/null +++ b/lib/portage/tests/resolver/test_slot_conflict_blocked_prune.py @@ -0,0 +1,78 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +from portage.tests import TestCase +from portage.tests.resolver.ResolverPlayground import ( + ResolverPlayground, + ResolverPlaygroundTestCase, +) + + +class SlotConflictBlockedPruneTestCase(TestCase): + def testSlotConflictBlockedPrune(self): + """ + Bug 622270 + Downgrading package (as openssl here) due to un-accepting unstable. + Dependent package (as rustup here) cannot be rebuilt due to missing + keyword, so dependee downgrade is cancelled, but other dependents + (such as xwayland here) are rebuilt nevertheless. This should not + happen and the rebuilds should be pruned. + """ + ebuilds = { + "x11-base/xwayland-23.1.1": { + "EAPI": "5", + "RDEPEND": "dev-libs/openssl:=", + }, + "dev-util/rustup-1.25.2": { + "EAPI": "5", + "RDEPEND": "dev-libs/openssl:0=", + "KEYWORDS": "~x86", + }, + "dev-libs/openssl-1.1.1u": { + "EAPI": "5", + "SLOT": "0/1.1", + }, + "dev-libs/openssl-3.1.1": { + "EAPI": "5", + "SLOT": "0/3", + "KEYWORDS": "~x86", + }, + } + + installed = { + "x11-base/xwayland-23.1.1": { + "EAPI": "5", + "RDEPEND": "dev-libs/openssl:0/3=", + }, + "dev-util/rustup-1.25.2": { + "EAPI": "5", + "RDEPEND": "dev-libs/openssl:0/3=", + "KEYWORDS": "~x86", + }, + "dev-libs/openssl-3.1.1": { + "EAPI": "5", + "SLOT": "0/3", + "KEYWORDS": "~x86", + }, + } + + world = ["x11-base/xwayland", "dev-util/rustup"] + + test_cases = ( + ResolverPlaygroundTestCase( + ["@world"], + options={"--deep": True, "--update": True, "--verbose": True}, + success=True, + mergelist=["x11-base/xwayland-23.1.1"], + ), + ) + + playground = ResolverPlayground( + ebuilds=ebuilds, installed=installed, world=world + ) + 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()