summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-09-03 11:05:57 -0700
committerZac Medico <zmedico@gentoo.org>2011-09-03 11:05:57 -0700
commit3f9239de54cc90972750f673102f88b824e500ba (patch)
tree8c5503d4aacf2010f8d5c7d9921f776d2b141ab8 /pym
parentfea331226ed0d760ab2d0e86650d62dd32230cd6 (diff)
downloadportage-3f9239de54cc90972750f673102f88b824e500ba.tar.gz
portage-3f9239de54cc90972750f673102f88b824e500ba.tar.bz2
portage-3f9239de54cc90972750f673102f88b824e500ba.zip
tests/emerge: add minimal herds.xml
This will allow src_test to trigger issues like bug #381657.
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/tests/emerge/test_simple.py20
-rw-r--r--pym/portage/tests/repoman/test_simple.py19
-rw-r--r--pym/portage/tests/resolver/ResolverPlayground.py38
3 files changed, 60 insertions, 17 deletions
diff --git a/pym/portage/tests/emerge/test_simple.py b/pym/portage/tests/emerge/test_simple.py
index acd97eb36..038192e01 100644
--- a/pym/portage/tests/emerge/test_simple.py
+++ b/pym/portage/tests/emerge/test_simple.py
@@ -79,6 +79,23 @@ src_install() {
},
}
+ metadata_xml_files = (
+ (
+ "dev-libs/A",
+ {
+ "herd" : "base-system",
+ "flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
+ },
+ ),
+ (
+ "dev-libs/B",
+ {
+ "herd" : "no-herd",
+ "flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
+ },
+ ),
+ )
+
portage_python = portage._python_interpreter
emerge_cmd = (portage_python, "-Wd",
os.path.join(PORTAGE_BIN_PATH, "emerge"))
@@ -176,6 +193,9 @@ src_install() {
# non-empty system set keeps --depclean quiet
with open(os.path.join(profile_path, "packages"), 'w') as f:
f.write("*dev-libs/token-system-pkg")
+ for cp, xml_data in metadata_xml_files:
+ with open(os.path.join(portdir, cp, "metadata.xml"), 'w') as f:
+ f.write(playground.metadata_xml_template % xml_data)
for args in test_commands:
proc = subprocess.Popen(args,
env=env, stdout=subprocess.PIPE)
diff --git a/pym/portage/tests/repoman/test_simple.py b/pym/portage/tests/repoman/test_simple.py
index 35290f6f3..27e7d0e6d 100644
--- a/pym/portage/tests/repoman/test_simple.py
+++ b/pym/portage/tests/repoman/test_simple.py
@@ -69,26 +69,11 @@ class SimpleRepomanTestCase(TestCase):
licenses = ["GPL-2"]
arch_list = ["x86"]
metadata_dtd = os.path.join(PORTAGE_BASE_PATH, "cnf/metadata.dtd")
- metadata_xml_template = """<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>%(herd)s</herd>
-<maintainer>
-<email>maintainer-needed@gentoo.org</email>
-<description>Description of the maintainership</description>
-</maintainer>
-<longdescription>Long description of the package</longdescription>
-<use>
-%(flags)s
-</use>
-</pkgmetadata>
-"""
-
metadata_xml_files = (
(
"dev-libs/A",
{
- "herd" : "no-herd",
+ "herd" : "base-system",
"flags" : "<flag name='flag'>Description of how USE='flag' affects this package</flag>",
},
),
@@ -153,7 +138,7 @@ class SimpleRepomanTestCase(TestCase):
f.write("%s - %s\n" % (k, v))
for cp, xml_data in metadata_xml_files:
with open(os.path.join(portdir, cp, "metadata.xml"), 'w') as f:
- f.write(metadata_xml_template % xml_data)
+ f.write(playground.metadata_xml_template % xml_data)
# repoman checks metadata.dtd for recent CTIME, so copy the file in
# order to ensure that the CTIME is current
shutil.copyfile(metadata_dtd, os.path.join(distdir, "metadata.dtd"))
diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py
index 28567b3d7..67c4e5c53 100644
--- a/pym/portage/tests/resolver/ResolverPlayground.py
+++ b/pym/portage/tests/resolver/ResolverPlayground.py
@@ -39,6 +39,21 @@ class ResolverPlayground(object):
config_files = frozenset(("package.use", "package.mask", "package.keywords", \
"package.unmask", "package.properties", "package.license", "use.mask", "use.force"))
+ metadata_xml_template = """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>%(herd)s</herd>
+<maintainer>
+<email>maintainer-needed@gentoo.org</email>
+<description>Description of the maintainership</description>
+</maintainer>
+<longdescription>Long description of the package</longdescription>
+<use>
+%(flags)s
+</use>
+</pkgmetadata>
+"""
+
def __init__(self, ebuilds={}, installed={}, profile={}, repo_configs={}, \
user_config={}, sets={}, world=[], debug=False):
"""
@@ -311,6 +326,29 @@ class ResolverPlayground(object):
os.makedirs(os.path.join(self.eroot, "etc"))
os.symlink(sub_profile_dir, os.path.join(self.eroot, "etc", "make.profile"))
+ #Create minimal herds.xml
+ metadata_dir = os.path.join(repo_dir, "metadata")
+ os.makedirs(metadata_dir)
+ herds_xml = """<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE herds SYSTEM "http://www.gentoo.org/dtd/herds.dtd">
+<?xml-stylesheet href="/xsl/herds.xsl" type="text/xsl" ?>
+<?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl" ?>
+<herds>
+<herd>
+ <name>base-system</name>
+ <email>base-system@gentoo.org</email>
+ <description>Core system utilities and libraries.</description>
+ <maintainer>
+ <email>base-system@gentoo.orgg</email>
+ <name>Base System</name>
+ <role>Base System Maintainer</role>
+ </maintainer>
+</herd>
+</herds>
+"""
+ with open(os.path.join(metadata_dir, "metadata.xml"), 'w') as f:
+ f.write(herds_xml)
+
user_config_dir = os.path.join(self.eroot, "etc", "portage")
try: