]> granicus.if.org Git - python/commitdiff
Add test for SF bug [ #492403 ] exec() segfaults on closure's func_code
authorJeremy Hylton <jeremy@alum.mit.edu>
Thu, 13 Dec 2001 19:45:04 +0000 (19:45 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Thu, 13 Dec 2001 19:45:04 +0000 (19:45 +0000)
Lib/test/test_scope.py

index 18dd0c749097321b58e05522a6c91663407302d6..3bb1fdd4d4fd249839f6c335090388197de6e986 100644 (file)
@@ -461,7 +461,8 @@ def adaptgetter(name, klass, getter):
     kind, des = getter
     if kind == 1:       # AV happens when stepping from this line to next
         if des == "":
-            des = "_%s__%s" % (klass.__name__, name)
+##            des = "_%s__%s" % (klass.__name__, name)
+            des = "1"
         return lambda obj: getattr(obj, des)
 
 class TestClass:
@@ -471,7 +472,7 @@ sys.settrace(tracer)
 adaptgetter("foo", TestClass, (1, ""))
 sys.settrace(None)
 
-print "20. eval with free variables"
+print "20. eval and exec with free variables"
 
 def f(x):
     return lambda: x + 1
@@ -484,6 +485,13 @@ except TypeError:
 else:
     print "eval() should have failed, because code contained free vars"
 
+try:
+    exec g.func_code
+except TypeError:
+    pass
+else:
+    print "exec should have failed, because code contained free vars"
+
 warnings.resetwarnings()
 
 print "21. list comprehension with local variables"