Author: Benjamin Peterson <benja...@python.org> Branch: py3k Changeset: r53528:ec195022d218 Date: 2012-03-13 22:34 -0500 http://bitbucket.org/pypy/pypy/changeset/ec195022d218/
Log: merge heads diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py --- a/pypy/interpreter/error.py +++ b/pypy/interpreter/error.py @@ -471,14 +471,3 @@ def typed_unwrap_error_msg(space, expected, w_obj): type_name = space.type(w_obj).getname(space) return space.wrap("expected %s, got %s object" % (expected, type_name)) - - -from pypy.interpreter.baseobjspace import Wrappable - -class W_OperationError(Wrappable): - """ - Tiny applevel wrapper around an OperationError. - """ - - def __init__(self, operr): - self.operr = operr diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py --- a/pypy/interpreter/pyopcode.py +++ b/pypy/interpreter/pyopcode.py @@ -528,7 +528,6 @@ self.setdictscope(w_locals) def POP_EXCEPT(self, oparg, next_instr): - from pypy.interpreter.error import W_OperationError assert self.space.py3k # on CPython, POP_EXCEPT also pops the block. Here, the block is # automatically popped by unrollstack() @@ -1295,7 +1294,6 @@ # instead of the traceback, we store the unroller object, # wrapped. if frame.space.py3k: - from pypy.interpreter.error import W_OperationError # this is popped by POP_EXCEPT, which is present only in py3k w_last_exception = W_OperationError(frame.last_exception) w_last_exception = frame.space.wrap(w_last_exception) @@ -1363,6 +1361,16 @@ 'SETUP_WITH': WithBlock, } + +class W_OperationError(Wrappable): + """ + Tiny applevel wrapper around an OperationError. + """ + + def __init__(self, operr): + self.operr = operr + + ### helpers written at the application-level ### # Some of these functions are expected to be generally useful if other # parts of the code need to do the same thing as a non-trivial opcode, diff --git a/pypy/interpreter/test/test_zzpickle_and_slow.py b/pypy/interpreter/test/test_zzpickle_and_slow.py --- a/pypy/interpreter/test/test_zzpickle_and_slow.py +++ b/pypy/interpreter/test/test_zzpickle_and_slow.py @@ -338,11 +338,11 @@ ''' import pickle liter = iter([3,9,6,12,15,17,19,111]) - liter.next() + next(liter) pckl = pickle.dumps(liter) result = pickle.loads(pckl) - liter.next() - result.next() + next(liter) + next(result) assert type(liter) is type(result) raises(TypeError, len, liter) assert list(liter) == list(result) @@ -350,11 +350,11 @@ def test_pickle_reversesequenceiter(self): import pickle liter = reversed([3,9,6,12,15,17,19,111]) - liter.next() + next(liter) pckl = pickle.dumps(liter) result = pickle.loads(pckl) - liter.next() - result.next() + next(liter) + next(result) assert type(liter) is type(result) raises(TypeError, len, liter) assert list(liter) == list(result) @@ -365,38 +365,38 @@ import pickle tdict = {'2':2, '3':3, '5':5} diter = iter(tdict) - diter.next() + next(diter) raises(TypeError, pickle.dumps, diter) def test_pickle_reversed(self): import pickle r = reversed(tuple(range(10))) - r.next() - r.next() + next(r) + next(r) pickled = pickle.dumps(r) result = pickle.loads(pickled) - result.next() - r.next() + next(result) + next(r) assert type(r) is type(result) assert list(r) == list(result) def test_pickle_enum(self): import pickle e = enumerate(range(10)) - e.next() - e.next() + next(e) + next(e) pckl = pickle.dumps(e) result = pickle.loads(pckl) - e.next() - result.next() + next(e) + next(result) assert type(e) is type(result) assert list(e) == list(result) def test_pickle_xrangeiter(self): import pickle riter = iter(xrange(5)) - riter.next() - riter.next() + next(riter) + next(riter) pckl = pickle.dumps(riter) result = pickle.loads(pckl) assert type(riter) is type(result) @@ -417,8 +417,8 @@ mod.giveme = giveme giveme.__module__ = mod g1 = mod.giveme(10) - #g1.next() - #g1.next() + #next(g1) + #next(g1) pckl = pickle.dumps(g1) g2 = pickle.loads(pckl) assert list(g1) == list(g2) @@ -441,8 +441,8 @@ mod.giveme = giveme giveme.__module__ = mod g1 = mod.giveme(10) - g1.next() - g1.next() + next(g1) + next(g1) pckl = pickle.dumps(g1) g2 = pickle.loads(pckl) assert list(g1) == list(g2) diff --git a/pypy/interpreter/typedef.py b/pypy/interpreter/typedef.py --- a/pypy/interpreter/typedef.py +++ b/pypy/interpreter/typedef.py @@ -6,7 +6,7 @@ from pypy.interpreter.gateway import interp2app, BuiltinCode from pypy.interpreter.argument import Arguments from pypy.interpreter.baseobjspace import Wrappable, DescrMismatch -from pypy.interpreter.error import OperationError, operationerrfmt, W_OperationError +from pypy.interpreter.error import OperationError, operationerrfmt from pypy.tool.sourcetools import compile2, func_with_new_name from pypy.rlib.objectmodel import instantiate, compute_identity_hash, specialize from pypy.rlib.jit import promote @@ -614,7 +614,7 @@ from pypy.interpreter.eval import Code, Frame from pypy.interpreter.pycode import PyCode, CO_VARARGS, CO_VARKEYWORDS from pypy.interpreter.pyframe import PyFrame -from pypy.interpreter.pyopcode import SuspendedUnroller +from pypy.interpreter.pyopcode import SuspendedUnroller, W_OperationError from pypy.interpreter.module import Module from pypy.interpreter.function import Function, Method, StaticMethod from pypy.interpreter.function import ClassMethod diff --git a/pypy/module/_ast/test/test_ast.py b/pypy/module/_ast/test/test_ast.py --- a/pypy/module/_ast/test/test_ast.py +++ b/pypy/module/_ast/test/test_ast.py @@ -34,7 +34,7 @@ assert isinstance(expr.op, ast.Sub) co = compile(mod, "<example>", "exec") ns = {} - exec co in ns + exec(co, ns) assert ns["x"] == -1 mod = self.get_ast("4 < 5 < 6", "eval") assert isinstance(mod.body, ast.Compare) @@ -83,14 +83,6 @@ name.id = "hi" assert name.id == "hi" - def test_bool(self): - ast = self.ast - pr = ast.Print(None, [ast.Name("hi", ast.Load())], False) - assert not pr.nl - assert isinstance(pr.nl, bool) - pr.nl = True - assert pr.nl - @py.test.mark.skipif("py.test.config.option.runappdirect") def test_object(self): ast = self.ast @@ -123,7 +115,7 @@ lineno=0, col_offset=0)) co = compile(mod, "<test>", "exec") ns = {} - exec co in ns + exec(co, ns) assert "y" not in ns assert ns["x"] == ns["lemon"] == 3 assert ns["apple"] == 4 @@ -189,7 +181,7 @@ mod = self.get_ast("from __future__ import division\nx = 1/2") co = compile(mod, "<test>", "exec") ns = {} - exec co in ns + exec(co, ns) assert ns["x"] == .5 def test_field_attr_writable(self): @@ -208,7 +200,7 @@ mod2 = pickle.loads(s) ns = {"y" : 1} co2 = compile(mod2, "<example>", "exec") - exec co2 in ns + exec(co2, ns) assert ns["x"] == 4 def test_classattrs(self): @@ -284,7 +276,7 @@ None, [], lineno=4, col_offset=0)], [], lineno=1, col_offset=0) ]) - exec compile(body, '<string>', 'exec') + exec(compile(body, '<string>', 'exec')) def test_invalid_sum(self): import _ast as ast _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit