Kaydet (Commit) ccae8377 authored tarafından Jeremy Hylton's avatar Jeremy Hylton

Add test for SF bug [ #492403 ] exec() segfaults on closure's func_code

üst 6272dfd9
......@@ -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"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment