diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-02-19 19:19:18 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-02-19 19:19:18 +0000 |
commit | 42a7366b541ab389fd24d986292f3895a774ad0a (patch) | |
tree | ee524d1db0c2f9dbfa8be89753dff32c42a6c47e | |
parent | 35ce9db328c0727f4c246a0b9caa7fb02652d05b (diff) | |
download | portage-42a7366b541ab389fd24d986292f3895a774ad0a.tar.gz portage-42a7366b541ab389fd24d986292f3895a774ad0a.tar.bz2 portage-42a7366b541ab389fd24d986292f3895a774ad0a.zip |
Make isvalidatom() identify empty slot as invalid (missing slot is valid) and
add a corresponding test case.
svn path=/main/trunk/; revision=12654
-rw-r--r-- | pym/portage/dep.py | 4 | ||||
-rw-r--r-- | pym/portage/tests/dep/test_isvalidatom.py | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/pym/portage/dep.py b/pym/portage/dep.py index 04817068c..22fa8bf56 100644 --- a/pym/portage/dep.py +++ b/pym/portage/dep.py @@ -773,6 +773,10 @@ def isvalidatom(atom, allow_blockers=False): else: atom = atom[1:] + if dep_getslot(atom) == "": + # empty slot is invalid (None is valid) + return 0 + try: use = dep_getusedeps(atom) if use: diff --git a/pym/portage/tests/dep/test_isvalidatom.py b/pym/portage/tests/dep/test_isvalidatom.py index 1364a92a2..5d6b4e73a 100644 --- a/pym/portage/tests/dep/test_isvalidatom.py +++ b/pym/portage/tests/dep/test_isvalidatom.py @@ -25,6 +25,7 @@ class IsValidAtom(TestCase): ( "sys-apps/portage:foo", True ), ( "sys-apps/portage-2.1:foo", False ), ( "sys-apps/portage-2.1:", False ), + ( "sys-apps/portage-2.1:[foo]", False ), ( "=sys-apps/portage-2.2*:foo[bar?,!baz?,!doc=,build=]", True ), ( "=sys-apps/portage-2.2*:foo[doc?]", True ), ( "=sys-apps/portage-2.2*:foo[!doc?]", True ), |