summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dep/__init__.py3
-rw-r--r--pym/portage/tests/dep/test_use_reduce.py6
2 files changed, 6 insertions, 3 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 862154318..ba373241f 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -369,6 +369,9 @@ def use_reduce(depstr, uselist=[], masklist=[], matchall=False, excludeall=[], i
if need_simple_token:
raise InvalidDependString(
_("expected: file name, got: '%s', token %s") % (token, pos+1))
+ if len(mysplit) >= pos+2 and mysplit[pos+1] == ")":
+ raise InvalidDependString(
+ _("expected: dependency string, got: ')', token %s") % (pos+1,))
need_bracket = False
stack.append([])
level += 1
diff --git a/pym/portage/tests/dep/test_use_reduce.py b/pym/portage/tests/dep/test_use_reduce.py
index 7c7286ad8..b89752fb4 100644
--- a/pym/portage/tests/dep/test_use_reduce.py
+++ b/pym/portage/tests/dep/test_use_reduce.py
@@ -217,7 +217,7 @@ class UseReduce(TestCase):
uselist = ["foo", "bar"],
expected_result = [ "||", [ "A", "B" ] ]),
UseReduceTestCase(
- "A || ( ) foo? ( ) B",
+ "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B",
expected_result = ["A", "B"]),
UseReduceTestCase(
"|| ( A ) || ( B )",
@@ -350,7 +350,7 @@ class UseReduce(TestCase):
opconvert = True,
expected_result = [['||', 'A', 'B']]),
UseReduceTestCase(
- "A || ( ) foo? ( ) B",
+ "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B",
opconvert = True,
expected_result = ["A", "B"]),
UseReduceTestCase(
@@ -509,7 +509,7 @@ class UseReduce(TestCase):
flat = True,
expected_result = [ "||", "||", "A", "||", "B" ]),
UseReduceTestCase(
- "A || ( ) foo? ( ) B",
+ "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B",
flat = True,
expected_result = ["A", "||", "B"]),
UseReduceTestCase(