From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 444E313838B for ; Tue, 16 Sep 2014 06:35:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2DCEAE0886; Tue, 16 Sep 2014 06:35:40 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D5FFAE0886 for ; Tue, 16 Sep 2014 06:35:39 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9E0273402E8 for ; Tue, 16 Sep 2014 06:35:38 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 434C95AB9 for ; Tue, 16 Sep 2014 06:35:37 +0000 (UTC) From: "Brian Dolbec" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" Message-ID: <1410838181.4fcf4fa56c0033d726eb0755e3ca67b3337ad944.dol-sen@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/tests/resolver/ X-VCS-Repository: proj/portage X-VCS-Files: pym/portage/tests/resolver/test_slot_operator_rebuild.py X-VCS-Directories: pym/portage/tests/resolver/ X-VCS-Committer: dol-sen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: 4fcf4fa56c0033d726eb0755e3ca67b3337ad944 X-VCS-Branch: master Date: Tue, 16 Sep 2014 06:35:37 +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-Archives-Salt: fc6631c0-878a-47ee-b8d9-8172690a1972 X-Archives-Hash: cfc6357440510acaac38ff8073914d2e commit: 4fcf4fa56c0033d726eb0755e3ca67b3337ad944 Author: Zac Medico gentoo org> AuthorDate: Sat Sep 13 00:41:00 2014 +0000 Commit: Brian Dolbec gmail com> CommitDate: Tue Sep 16 03:29:41 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4fcf4fa5 Add test for bug #522652 with slot-operator This test case uses || ( bar foo:= ) syntax that is forbidden by PMS. --- .../tests/resolver/test_slot_operator_rebuild.py | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/pym/portage/tests/resolver/test_slot_operator_rebuild.py b/pym/portage/tests/resolver/test_slot_operator_rebuild.py new file mode 100644 index 0000000..42512aa --- /dev/null +++ b/pym/portage/tests/resolver/test_slot_operator_rebuild.py @@ -0,0 +1,80 @@ +# Copyright 2014 Gentoo Foundation +# 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 SlotOperatorRebuildTestCase(TestCase): + + def testSlotOperatorRebuild(self): + + ebuilds = { + + "app-misc/A-1" : { + "EAPI": "5", + "SLOT": "0/1" + }, + + "app-misc/A-2" : { + "EAPI": "5", + "SLOT": "0/2" + }, + + "app-misc/B-0" : { + "EAPI": "5", + "RDEPEND": "app-misc/A:=" + }, + + "app-misc/C-0" : { + "EAPI": "5", + "RDEPEND": "|| ( app-misc/X app-misc/A:= )" + }, + + } + + installed = { + + "app-misc/A-1" : { + "EAPI": "5", + "SLOT": "0/1" + }, + + "app-misc/B-0" : { + "EAPI": "5", + "RDEPEND": "app-misc/A:0/1=" + }, + + "app-misc/C-0" : { + "EAPI": "5", + "RDEPEND": "|| ( app-misc/X app-misc/A:0/1= )" + }, + + } + + world = ["app-misc/B", "app-misc/C"] + + test_cases = ( + + # Test bug #522652, where the unsatisfiable app-misc/X + # atom is selected, and the dependency is placed into + # _initially_unsatisfied_deps where it is ignored, causing + # the app-misc/C-0 rebuild to be missed. + ResolverPlaygroundTestCase( + ["app-misc/A"], + options = {"--dynamic-deps": "n"}, + success = True, + ambiguous_merge_order = True, + mergelist = ['app-misc/A-2', ('app-misc/B-0', 'app-misc/C-0')] + ), + + ) + + playground = ResolverPlayground(ebuilds=ebuilds, + installed=installed, world=world, debug=False) + 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()