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: |