fix AutoTestDictTransform for lambda expressions
authorStefan Behnel <scoder@users.berlios.de>
Tue, 23 Nov 2010 19:16:07 +0000 (20:16 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 23 Nov 2010 19:16:07 +0000 (20:16 +0100)
Cython/Compiler/AnalysedTreeTransforms.py
tests/run/autotestdict.pyx

index 38712049896f924cb9ea5fab07fa8de00f2a7898..79a0485e2828e39e601bed100d5853f9eb2d2f14 100644 (file)
@@ -57,6 +57,11 @@ class AutoTestDictTransform(ScopeTrackingTransform):
         value = UnicodeNode(pos, value=doctest)
         self.tests.append(DictItemNode(pos, key=key, value=value))
 
+    def visit_ExprNode(self, node):
+        # expressions cannot contain functions and lambda expressions
+        # do not have a docstring
+        return node
+
     def visit_FuncDefNode(self, node):
         if not node.doc:
             return node
index 1e740c083da37d5254da1f279e19f0a25e6fd7b4..1df98968f407ec9f3306e289e5d5cc54d37cab7a 100644 (file)
@@ -10,10 +10,10 @@ all_tests_run() is executed which does final validation.
 >>> items.sort()
 >>> for key, value in items:
 ...     print('%s ; %s' % (key, value))
-MyCdefClass.cpdef_method (line 76) ; >>> add_log("cpdef class method")
-MyCdefClass.method (line 73) ; >>> add_log("cdef class method")
-MyClass.method (line 62) ; >>> add_log("class method")
-mycpdeffunc (line 49) ; >>> add_log("cpdef")
+MyCdefClass.cpdef_method (line 77) ; >>> add_log("cpdef class method")
+MyCdefClass.method (line 74) ; >>> add_log("cdef class method")
+MyClass.method (line 63) ; >>> add_log("class method")
+mycpdeffunc (line 50) ; >>> add_log("cpdef")
 myfunc (line 40) ; >>> add_log("def")
 
 """
@@ -39,6 +39,7 @@ def add_log(s):
 
 def myfunc():
     """>>> add_log("def")"""
+    x = lambda a:1 # no docstring here ...
 
 def doc_without_test():
     """Some docs"""