Fix for SF bug [ #443866 ] Evaluating func_code causing core dump

Add test that calls eval with a code object that has free variables.
This commit is contained in:
Jeremy Hylton 2001-07-30 21:55:29 +00:00
parent 15c1c4f6d2
commit 5121e7de11
2 changed files with 14 additions and 0 deletions

View File

@ -19,3 +19,4 @@ test_scope
18. verify that locals() works 18. verify that locals() works
19. var is bound and free in class 19. var is bound and free in class
20. interaction with trace function 20. interaction with trace function
20. eval with free variables

View File

@ -465,3 +465,16 @@ class TestClass:
sys.settrace(tracer) sys.settrace(tracer)
adaptgetter("foo", TestClass, (1, "")) adaptgetter("foo", TestClass, (1, ""))
sys.settrace(None) sys.settrace(None)
print "20. eval with free variables"
def f(x):
return lambda: x + 1
g = f(3)
try:
eval(g.func_code)
except TypeError:
pass
else:
print "eval() should have failed, because code contained free vars"