diff options
-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 ), |