summaryrefslogtreecommitdiffstats
path: root/pym/portage
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-15 10:56:49 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-15 10:56:49 -0700
commiteed4f598be7d149a91ba0499d111b10c990c1c6c (patch)
treee086901b36032c8248f17356f04ca287dd8fe680 /pym/portage
parenta80b6804d1a7a21bc68d70aa5cb14ed12be921d5 (diff)
downloadportage-eed4f598be7d149a91ba0499d111b10c990c1c6c.tar.gz
portage-eed4f598be7d149a91ba0499d111b10c990c1c6c.tar.bz2
portage-eed4f598be7d149a91ba0499d111b10c990c1c6c.zip
Make DoebuildSpawnTestCase instantiate a minimal Package instance, and
fix code to tolerate missing metadata values in various places.
Diffstat (limited to 'pym/portage')
-rw-r--r--pym/portage/package/ebuild/config.py7
-rw-r--r--pym/portage/tests/ebuild/test_doebuild_spawn.py7
2 files changed, 10 insertions, 4 deletions
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 9089ffb45..cdfbdc28a 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -1767,7 +1767,8 @@ class config(object):
def _getKeywords(self, cpv, metadata):
cp = cpv_getkey(cpv)
pkg = "%s:%s" % (cpv, metadata["SLOT"])
- keywords = [[x for x in metadata["KEYWORDS"].split() if x != "-*"]]
+ keywords = [[x for x in metadata.get("KEYWORDS", "").split() \
+ if x != "-*"]]
for pkeywords_dict in self._pkeywords_list:
cpdict = pkeywords_dict.get(cp)
if cpdict:
@@ -2006,7 +2007,8 @@ class config(object):
for x in pproperties_list:
accept_properties.extend(x)
- properties = set(use_reduce(metadata["PROPERTIES"], matchall=1, flat=True))
+ properties_str = metadata.get("PROPERTIES", "")
+ properties = set(use_reduce(properties_str, matchall=1, flat=True))
properties.discard('||')
acceptable_properties = set()
@@ -2020,7 +2022,6 @@ class config(object):
else:
acceptable_properties.add(x)
- properties_str = metadata["PROPERTIES"]
if "?" in properties_str:
use = metadata["USE"].split()
else:
diff --git a/pym/portage/tests/ebuild/test_doebuild_spawn.py b/pym/portage/tests/ebuild/test_doebuild_spawn.py
index f93fa8758..615062709 100644
--- a/pym/portage/tests/ebuild/test_doebuild_spawn.py
+++ b/pym/portage/tests/ebuild/test_doebuild_spawn.py
@@ -9,6 +9,7 @@ from portage.package.ebuild.config import config
from portage.package.ebuild.doebuild import spawn as doebuild_spawn
from portage.tests import TestCase
from portage.tests.resolver.ResolverPlayground import ResolverPlayground
+from _emerge.Package import Package
class DoebuildSpawnTestCase(TestCase):
"""
@@ -32,7 +33,11 @@ class DoebuildSpawnTestCase(TestCase):
'RDEPEND' : '>=app-shells/bash-3.2_p17 >=dev-lang/python-2.6',
'SLOT' : '0',
}
- settings.setcpv(cpv, mydb=metadata)
+ root_config = playground.trees[playground.root]['root_config']
+ pkg = Package(built=False, cpv=cpv, installed=False,
+ metadata=metadata, root_config=root_config,
+ type_name='ebuild')
+ settings.setcpv(pkg)
settings['PORTAGE_PYTHON'] = sys.executable
settings['PORTAGE_BUILDDIR'] = os.path.join(
settings['PORTAGE_TMPDIR'], cpv)