]> granicus.if.org Git - python/commitdiff
Part two of the fix for SF bug #1466641: Regenerate graminit.c and add test
authorThomas Wouters <thomas@python.org>
Wed, 12 Apr 2006 00:07:59 +0000 (00:07 +0000)
committerThomas Wouters <thomas@python.org>
Wed, 12 Apr 2006 00:07:59 +0000 (00:07 +0000)
for the bogus failure.

Lib/test/test_grammar.py
Python/graminit.c

index 45e3c49cf9e0c73bd64f74e3905e42da75d04e3c..4bb4e45aaf0b46085384dd6ae0f19dbacd551316 100644 (file)
@@ -815,6 +815,11 @@ x = 10; t = False; g = ((i,j) for i in range(x) if t for j in range(x))
 x = 5; t = True;
 verify([(i,j) for i in range(10) for j in range(5)] == list(g))
 
+# Grammar allows multiple adjacent 'if's in listcomps and genexps,
+# even though it's silly. Make sure it works (ifelse broke this.)
+verify([ x for x in range(10) if x % 2 if x % 3 ], [1, 5, 7])
+verify((x for x in range(10) if x % 2 if x % 3), [1, 5, 7])
+
 # Test ifelse expressions in various cases
 def _checkeval(msg, ret):
     "helper to check that evaluation of expressions is done correctly"
index 1853ca407dbe937d477d032368f2e1532defcad5..ae367ce0636c52d582e23deb35194f5d98dc6751 100644 (file)
@@ -1678,7 +1678,7 @@ static arc arcs_77_0[1] = {
        {91, 1},
 };
 static arc arcs_77_1[1] = {
-       {26, 2},
+       {105, 2},
 };
 static arc arcs_77_2[2] = {
        {162, 3},
@@ -1735,7 +1735,7 @@ static arc arcs_80_0[1] = {
        {91, 1},
 };
 static arc arcs_80_1[1] = {
-       {26, 2},
+       {105, 2},
 };
 static arc arcs_80_2[2] = {
        {164, 3},