aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-07-23 21:12:07 +0200
committerZac Medico <zmedico@gentoo.org>2010-07-23 12:18:03 -0700
commitf20465a6a8a1ce9a715d861013038238149fe533 (patch)
tree73de6263da493b10de79ebace60384c1fc91ec30 /pym/portage
parentportage.dep.isvalidatom(): Add support for atoms with wildcards (diff)
downloadportage-f20465a6a8a1ce9a715d861013038238149fe533.tar.gz
portage-f20465a6a8a1ce9a715d861013038238149fe533.tar.bz2
portage-f20465a6a8a1ce9a715d861013038238149fe533.zip
portage.dep._use_dep: better validation, enable all tests
Diffstat (limited to 'pym/portage')
-rw-r--r--pym/portage/dep/__init__.py9
-rw-r--r--pym/portage/tests/dep/testAtom.py4
2 files changed, 11 insertions, 2 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index c58a83e44..e6f2362b1 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -399,6 +399,8 @@ class _use_dep(object):
if "!" == first_char:
conditional.disabled.append(
self._validate_flag(x, x[1:-1]))
+ elif first_char in ("-", "=", "?"):
+ raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
else:
conditional.enabled.append(
self._validate_flag(x, x[:-1]))
@@ -407,13 +409,20 @@ class _use_dep(object):
if "!" == first_char:
conditional.not_equal.append(
self._validate_flag(x, x[1:-1]))
+ elif first_char in ("-", "=", "?"):
+ raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
else:
conditional.equal.append(
self._validate_flag(x, x[:-1]))
+ elif last_char in ("!", "-"):
+ raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
+
else:
if "-" == first_char:
disabled_flags.append(self._validate_flag(x, x[1:]))
+ elif first_char in ("!", "=", "?"):
+ raise InvalidAtom(_("Invalid use dep: '%s'") % (x,))
else:
enabled_flags.append(self._validate_flag(x, x))
diff --git a/pym/portage/tests/dep/testAtom.py b/pym/portage/tests/dep/testAtom.py
index 7457babb7..091cef3a2 100644
--- a/pym/portage/tests/dep/testAtom.py
+++ b/pym/portage/tests/dep/testAtom.py
@@ -32,14 +32,14 @@ class TestAtom(TestCase):
tests_xfail = [
( "cat/pkg[a!]", False ),
- #( "cat/pkg[a-]", False ),
+ ( "cat/pkg[a-]", False ),
( "cat/pkg[!a]", False ),
( "cat/pkg[!a!]", False ),
( "cat/pkg[!a-]", False ),
( "cat/pkg[-a=]", False ),
( "cat/pkg[-a?]", False ),
( "cat/pkg[-a!]", False ),
- #( "cat/pkg[-a-]", False ),
+ ( "cat/pkg[-a-]", False ),
( "cat/pkg[=a]", False ),
( "cat/pkg[=a=]", False ),
( "cat/pkg[=a?]", False ),