From: Jeremy Hylton Date: Thu, 13 Dec 2001 19:45:04 +0000 (+0000) Subject: Add test for SF bug [ #492403 ] exec() segfaults on closure's func_code X-Git-Tag: v2.2.1c1~379 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ccae8377a329fe60193a605697b5ffefb4734960;p=python 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 18dd0c7490..3bb1fdd4d4 100644 --- a/Lib/test/test_scope.py +++ b/Lib/test/test_scope.py @@ -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"