Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/tests/emerge/, pym/portage/tests/resolver/, ...
Date: Sat, 03 Sep 2011 18:08:27
Message-Id: 3f9239de54cc90972750f673102f88b824e500ba.zmedico@gentoo
1 commit: 3f9239de54cc90972750f673102f88b824e500ba
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 3 18:05:57 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 3 18:05:57 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=3f9239de
7
8 tests/emerge: add minimal herds.xml
9
10 This will allow src_test to trigger issues like bug #381657.
11
12 ---
13 pym/portage/tests/emerge/test_simple.py | 20 +++++++++++
14 pym/portage/tests/repoman/test_simple.py | 19 +----------
15 pym/portage/tests/resolver/ResolverPlayground.py | 38 ++++++++++++++++++++++
16 3 files changed, 60 insertions(+), 17 deletions(-)
17
18 diff --git a/pym/portage/tests/emerge/test_simple.py b/pym/portage/tests/emerge/test_simple.py
19 index acd97eb..038192e 100644
20 --- a/pym/portage/tests/emerge/test_simple.py
21 +++ b/pym/portage/tests/emerge/test_simple.py
22 @@ -79,6 +79,23 @@ src_install() {
23 },
24 }
25
26 + metadata_xml_files = (
27 + (
28 + "dev-libs/A",
29 + {
30 + "herd" : "base-system",
31 + "flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
32 + },
33 + ),
34 + (
35 + "dev-libs/B",
36 + {
37 + "herd" : "no-herd",
38 + "flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
39 + },
40 + ),
41 + )
42 +
43 portage_python = portage._python_interpreter
44 emerge_cmd = (portage_python, "-Wd",
45 os.path.join(PORTAGE_BIN_PATH, "emerge"))
46 @@ -176,6 +193,9 @@ src_install() {
47 # non-empty system set keeps --depclean quiet
48 with open(os.path.join(profile_path, "packages"), 'w') as f:
49 f.write("*dev-libs/token-system-pkg")
50 + for cp, xml_data in metadata_xml_files:
51 + with open(os.path.join(portdir, cp, "metadata.xml"), 'w') as f:
52 + f.write(playground.metadata_xml_template % xml_data)
53 for args in test_commands:
54 proc = subprocess.Popen(args,
55 env=env, stdout=subprocess.PIPE)
56
57 diff --git a/pym/portage/tests/repoman/test_simple.py b/pym/portage/tests/repoman/test_simple.py
58 index 35290f6..27e7d0e 100644
59 --- a/pym/portage/tests/repoman/test_simple.py
60 +++ b/pym/portage/tests/repoman/test_simple.py
61 @@ -69,26 +69,11 @@ class SimpleRepomanTestCase(TestCase):
62 licenses = ["GPL-2"]
63 arch_list = ["x86"]
64 metadata_dtd = os.path.join(PORTAGE_BASE_PATH, "cnf/metadata.dtd")
65 - metadata_xml_template = """<?xml version="1.0" encoding="UTF-8"?>
66 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
67 -<pkgmetadata>
68 -<herd>%(herd)s</herd>
69 -<maintainer>
70 -<email>maintainer-needed@g.o</email>
71 -<description>Description of the maintainership</description>
72 -</maintainer>
73 -<longdescription>Long description of the package</longdescription>
74 -<use>
75 -%(flags)s
76 -</use>
77 -</pkgmetadata>
78 -"""
79 -
80 metadata_xml_files = (
81 (
82 "dev-libs/A",
83 {
84 - "herd" : "no-herd",
85 + "herd" : "base-system",
86 "flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
87 },
88 ),
89 @@ -153,7 +138,7 @@ class SimpleRepomanTestCase(TestCase):
90 f.write("%s - %s\n" % (k, v))
91 for cp, xml_data in metadata_xml_files:
92 with open(os.path.join(portdir, cp, "metadata.xml"), 'w') as f:
93 - f.write(metadata_xml_template % xml_data)
94 + f.write(playground.metadata_xml_template % xml_data)
95 # repoman checks metadata.dtd for recent CTIME, so copy the file in
96 # order to ensure that the CTIME is current
97 shutil.copyfile(metadata_dtd, os.path.join(distdir, "metadata.dtd"))
98
99 diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py
100 index 28567b3..67c4e5c 100644
101 --- a/pym/portage/tests/resolver/ResolverPlayground.py
102 +++ b/pym/portage/tests/resolver/ResolverPlayground.py
103 @@ -39,6 +39,21 @@ class ResolverPlayground(object):
104 config_files = frozenset(("package.use", "package.mask", "package.keywords", \
105 "package.unmask", "package.properties", "package.license", "use.mask", "use.force"))
106
107 + metadata_xml_template = """<?xml version="1.0" encoding="UTF-8"?>
108 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
109 +<pkgmetadata>
110 +<herd>%(herd)s</herd>
111 +<maintainer>
112 +<email>maintainer-needed@g.o</email>
113 +<description>Description of the maintainership</description>
114 +</maintainer>
115 +<longdescription>Long description of the package</longdescription>
116 +<use>
117 +%(flags)s
118 +</use>
119 +</pkgmetadata>
120 +"""
121 +
122 def __init__(self, ebuilds={}, installed={}, profile={}, repo_configs={}, \
123 user_config={}, sets={}, world=[], debug=False):
124 """
125 @@ -311,6 +326,29 @@ class ResolverPlayground(object):
126 os.makedirs(os.path.join(self.eroot, "etc"))
127 os.symlink(sub_profile_dir, os.path.join(self.eroot, "etc", "make.profile"))
128
129 + #Create minimal herds.xml
130 + metadata_dir = os.path.join(repo_dir, "metadata")
131 + os.makedirs(metadata_dir)
132 + herds_xml = """<?xml version="1.0" encoding="UTF-8"?>
133 +<!DOCTYPE herds SYSTEM "http://www.gentoo.org/dtd/herds.dtd">
134 +<?xml-stylesheet href="/xsl/herds.xsl" type="text/xsl" ?>
135 +<?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl" ?>
136 +<herds>
137 +<herd>
138 + <name>base-system</name>
139 + <email>base-system@g.o</email>
140 + <description>Core system utilities and libraries.</description>
141 + <maintainer>
142 + <email>base-system@××××××.orgg</email>
143 + <name>Base System</name>
144 + <role>Base System Maintainer</role>
145 + </maintainer>
146 +</herd>
147 +</herds>
148 +"""
149 + with open(os.path.join(metadata_dir, "metadata.xml"), 'w') as f:
150 + f.write(herds_xml)
151 +
152 user_config_dir = os.path.join(self.eroot, "etc", "portage")
153
154 try: