diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/output/test_scope | 1 | ||||
-rw-r--r-- | Lib/test/test_scope.py | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/output/test_scope b/Lib/test/output/test_scope index 1a44bb2..55a8787 100644 --- a/Lib/test/output/test_scope +++ b/Lib/test/output/test_scope @@ -19,3 +19,4 @@ test_scope 18. verify that locals() works 19. var is bound and free in class 20. interaction with trace function +20. eval with free variables diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py index cb06036..58dd637 100644 --- a/Lib/test/test_scope.py +++ b/Lib/test/test_scope.py @@ -465,3 +465,16 @@ class TestClass: sys.settrace(tracer) adaptgetter("foo", TestClass, (1, "")) 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" |