Author: Antonio Cuni <[email protected]>
Branch: py3k
Changeset: r51877:5127c7fa289c
Date: 2012-01-27 14:50 +0100
http://bitbucket.org/pypy/pypy/changeset/5127c7fa289c/
Log: exec() can no longer modify the local scope, so we need to
explicitly pass a namespace and fish the interesting things out of
it
diff --git a/pypy/interpreter/test/test_syntax.py
b/pypy/interpreter/test/test_syntax.py
--- a/pypy/interpreter/test/test_syntax.py
+++ b/pypy/interpreter/test/test_syntax.py
@@ -312,8 +312,9 @@
with acontext:
pass
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontext = ns['acontext']
assert acontext.calls == '__enter__ __exit__'.split()
def test_compound_with(self):
@@ -357,7 +358,9 @@
with acontext:
pass
"""
- exec(s)
+ ns = {}
+ exec(s, ns)
+ acontext = ns['acontext']
assert acontext.calls == '__enter__ __exit__'.split()
def test_raw_doc_string(self):
@@ -371,9 +374,10 @@
exit = True
with Context() as w:
pass"""
- exec(s)
- assert enter
- assert exit
+ ns = {}
+ exec(s, ns)
+ assert ns['enter']
+ assert ns['exit']
def test_with_as_var(self):
@@ -396,8 +400,9 @@
avar.append('__body__')
pass
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
assert acontextfact.exit_params == (None, None, None)
assert acontextfact.calls == '__enter__ __body__ __exit__'.split()
@@ -429,8 +434,10 @@
else:
raise AssertionError('With did not raise RuntimeError')
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
+ error = ns['error']
assert acontextfact.calls == '__enter__ __body__ __exit__'.split()
assert acontextfact.exit_params[0:2] == (RuntimeError, error)
import types
@@ -460,8 +467,10 @@
raise error
avar.append('__after_raise__')
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
+ error = ns['error']
assert acontextfact.calls == '__enter__ __body__ __exit__'.split()
assert acontextfact.exit_params[0:2] == (RuntimeError, error)
import types
@@ -493,8 +502,9 @@
else:
raise AssertionError('Break failed with With, reached else clause')
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
assert acontextfact.calls == '__enter__ __body__ __exit__'.split()
assert acontextfact.exit_params == (None, None, None)
@@ -524,8 +534,9 @@
else:
avar.append('__continue__')
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
assert acontextfact.calls == '__enter__ __body__ __exit__
__continue__'.split()
assert acontextfact.exit_params == (None, None, None)
@@ -553,8 +564,9 @@
avar.append('__after_return__')
acontextfact.calls.append(g(acontextfact))
"""
- exec(s)
-
+ ns = {}
+ exec(s, ns)
+ acontextfact = ns['acontextfact']
assert acontextfact.calls == '__enter__ __body__ __exit__
__return__'.split()
assert acontextfact.exit_params == (None, None, None)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit