summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/output/test_scope1
-rw-r--r--Lib/test/test_scope.py13
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"