Fix use_reduce + opconvert of "|| ( A B ) C".
authorZac Medico <zmedico@gentoo.org>
Fri, 15 Oct 2010 09:09:16 +0000 (02:09 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 15 Oct 2010 10:06:20 +0000 (03:06 -0700)
Also, tweak other test results to match the additional brackets that
this change introduces in some cases.

pym/portage/dep/__init__.py
pym/portage/tests/dep/test_use_reduce.py

index da67dd1fe11c5effc1f095a8ea66f4654bc323e8..d9f6a2155bd9b938b06fc8b253235d357c633f00 100644 (file)
@@ -477,7 +477,7 @@ def use_reduce(depstr, uselist=[], masklist=[], matchall=False, excludeall=[], i
                                                        #In opconvert mode, we have to move the operator from the level
                                                        #above into the current list.
                                                        stack[level].pop()
-                                                       stack[level].extend(["||"] + l)
+                                                       stack[level].append(["||"] + l)
                                                else:
                                                        special_append()
 
index b9a2b3dd353c8d1a088e87dde13d0b06aaabdc8a..162d7cdf27159ece5c39b41519a7609febb55c69 100644 (file)
@@ -276,19 +276,19 @@ class UseReduce(TestCase):
                        UseReduceTestCase(
                                "|| ( A B )",
                                opconvert = True,
-                               expected_result = ["||", "A", "B"]),
+                               expected_result = [['||', 'A', 'B']]),
                        UseReduceTestCase(
                                "|| ( ( A B ) C )",
                                opconvert = True,
-                               expected_result = [ "||", ["A", "B"], "C" ]),
+                               expected_result = [['||', ['A', 'B'], 'C']]),
                        UseReduceTestCase(
                                "|| ( A || ( B C ) )",
                                opconvert = True,
-                               expected_result = ["||", "A", "B", "C"]),
+                               expected_result = [['||', 'A', 'B', 'C']]),
                        UseReduceTestCase(
                                "|| ( A || ( B C D ) )",
                                opconvert = True,
-                               expected_result = ["||", "A", "B", "C", "D"]),
+                               expected_result = [['||', 'A', 'B', 'C', 'D']]),
                        UseReduceTestCase(
                                "|| ( A || ( B || ( C D ) E ) )",
                                expected_result = [ "||", ["A", "B", "C", "D", "E"] ]),
@@ -299,17 +299,11 @@ class UseReduce(TestCase):
                        UseReduceTestCase(
                                "( || ( || ( ( A ) B ) ) )",
                                opconvert = True,
-                               expected_result = ["||", "A", "B"]),
+                               expected_result = [['||', 'A', 'B']]),
                        UseReduceTestCase(
-                               "( || ( || ( ( A ) B ) ) )",
+                               "|| ( A B ) C",
                                opconvert = True,
-                               expected_result = ["||", "A", "B"]),
-
-                       # ['||', 'A', 'B', 'C'] != [['||', 'A', 'B'], 'C']
-                       #UseReduceTestCase(
-                       #       "|| ( A B ) C",
-                       #       opconvert = True,
-                       #       expected_result = [['||', 'A', 'B'], 'C']),
+                               expected_result = [['||', 'A', 'B'], 'C']),
 
                        # ['A', '||', ['B', 'C']] != ['A', ['||', 'B', 'C']]
                        #UseReduceTestCase(
@@ -328,7 +322,7 @@ class UseReduce(TestCase):
                                "( || ( || ( || ( A ) foo? ( B ) ) ) )",
                                uselist = ["foo"],
                                opconvert = True,
-                               expected_result = ["||", "A", "B"]),
+                               expected_result = [['||', 'A', 'B']]),
                        UseReduceTestCase(
                                "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )",
                                opconvert = True,
@@ -337,7 +331,7 @@ class UseReduce(TestCase):
                                "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )",
                                uselist = ["foo", "bar"],
                                opconvert = True,
-                               expected_result = ["||", "A", "B"]),
+                               expected_result = [['||', 'A', 'B']]),
                        UseReduceTestCase(
                                "A || ( ) foo? ( ) B",
                                opconvert = True,
@@ -365,7 +359,7 @@ class UseReduce(TestCase):
                                "|| ( ( A B ) foo? ( || ( C D ) ) )",
                                uselist = ["foo"],
                                opconvert = True,
-                               expected_result = ['||', ['A', 'B'], 'C', 'D']),
+                               expected_result = [['||', ['A', 'B'], '||', 'C', 'D']]),
 
                        UseReduceTestCase(
                                "|| ( ( A B ) foo? ( || ( C D ) ) )",