1 |
commit: a4d832db2da41240558c424710a00435a797f0d6 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 25 22:17:54 2020 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 25 22:34:36 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=a4d832db |
7 |
|
8 |
OrUpgradeInstalledTestCase: add test for bug 706278 |
9 |
|
10 |
Bug: https://bugs.gentoo.org/706278 |
11 |
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> |
12 |
|
13 |
.../tests/resolver/test_or_upgrade_installed.py | 71 ++++++++++++++++++++++ |
14 |
1 file changed, 71 insertions(+) |
15 |
|
16 |
diff --git a/lib/portage/tests/resolver/test_or_upgrade_installed.py b/lib/portage/tests/resolver/test_or_upgrade_installed.py |
17 |
index 7018e08de..c3efebf55 100644 |
18 |
--- a/lib/portage/tests/resolver/test_or_upgrade_installed.py |
19 |
+++ b/lib/portage/tests/resolver/test_or_upgrade_installed.py |
20 |
@@ -158,3 +158,74 @@ class OrUpgradeInstalledTestCase(TestCase): |
21 |
finally: |
22 |
playground.debug = False |
23 |
playground.cleanup() |
24 |
+ |
25 |
+ |
26 |
+ def test_llvm_slot_operator(self): |
27 |
+ ebuilds = { |
28 |
+ 'media-libs/mesa-19.2.8': { |
29 |
+ 'EAPI': '7', |
30 |
+ 'RDEPEND': '''|| ( |
31 |
+ sys-devel/llvm:10 |
32 |
+ sys-devel/llvm:9 |
33 |
+ sys-devel/llvm:8 |
34 |
+ sys-devel/llvm:7 |
35 |
+ ) |
36 |
+ sys-devel/llvm:=''' |
37 |
+ }, |
38 |
+ 'sys-devel/llvm-10': { |
39 |
+ 'EAPI': '7', |
40 |
+ 'KEYWORDS': '', |
41 |
+ 'SLOT': '10', |
42 |
+ }, |
43 |
+ 'sys-devel/llvm-9': { |
44 |
+ 'EAPI': '7', |
45 |
+ 'SLOT': '9', |
46 |
+ }, |
47 |
+ 'sys-devel/llvm-8': { |
48 |
+ 'EAPI': '7', |
49 |
+ 'SLOT': '8', |
50 |
+ }, |
51 |
+ } |
52 |
+ |
53 |
+ installed = { |
54 |
+ 'media-libs/mesa-19.2.8': { |
55 |
+ 'EAPI': '7', |
56 |
+ 'RDEPEND': '''|| ( |
57 |
+ sys-devel/llvm:10 |
58 |
+ sys-devel/llvm:9 |
59 |
+ sys-devel/llvm:8 |
60 |
+ sys-devel/llvm:7 |
61 |
+ ) |
62 |
+ sys-devel/llvm:8/8=''' |
63 |
+ }, |
64 |
+ 'sys-devel/llvm-8': { |
65 |
+ 'EAPI': '7', |
66 |
+ 'SLOT': '8', |
67 |
+ }, |
68 |
+ } |
69 |
+ |
70 |
+ world = ['media-libs/mesa'] |
71 |
+ |
72 |
+ test_cases = ( |
73 |
+ # Demonstrate bug 706278, where there is a missed slot operator |
74 |
+ # rebuild that prevents upgrade from llvm-8 to llvm-9. |
75 |
+ ResolverPlaygroundTestCase( |
76 |
+ ['@world'], |
77 |
+ options={'--update': True, '--deep': True}, |
78 |
+ success=True, |
79 |
+ mergelist=[], |
80 |
+ #mergelist=['sys-devel/llvm-9'], |
81 |
+ ), |
82 |
+ ) |
83 |
+ |
84 |
+ playground = ResolverPlayground(debug=False, |
85 |
+ ebuilds=ebuilds, installed=installed, world=world) |
86 |
+ |
87 |
+ try: |
88 |
+ for test_case in test_cases: |
89 |
+ playground.run_TestCase(test_case) |
90 |
+ self.assertEqual(test_case.test_success, True, |
91 |
+ test_case.fail_msg) |
92 |
+ finally: |
93 |
+ playground.debug = False |
94 |
+ playground.cleanup() |