Add test for SF bug [ #492403 ] exec() segfaults on closure's func_code
diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py
index 18dd0c7..3bb1fdd 100644
--- a/Lib/test/test_scope.py
+++ b/Lib/test/test_scope.py
@@ -461,7 +461,8 @@
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 @@
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 @@
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"