[pypy-commit] pypy default: write a test
fijal
noreply at buildbot.pypy.org
Tue Jul 9 19:29:02 CEST 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r65299:e8feb47a0eb9
Date: 2013-07-09 19:28 +0200
http://bitbucket.org/pypy/pypy/changeset/e8feb47a0eb9/
Log: write a test
diff --git a/pypy/interpreter/test/test_gateway.py b/pypy/interpreter/test/test_gateway.py
--- a/pypy/interpreter/test/test_gateway.py
+++ b/pypy/interpreter/test/test_gateway.py
@@ -597,6 +597,32 @@
assert space.is_true(w_res)
assert called == [w_app_f, w_app_f]
+ def test_interp2app_fastcall_method_with_space(self):
+ class W_X(W_Root):
+ def descr_f(self, space, w_x):
+ return w_x
+
+ app_f = gateway.interp2app_temp(W_X.descr_f, unwrap_spec=['self',
+ gateway.ObjSpace, gateway.W_Root])
+
+ w_app_f = self.space.wrap(app_f)
+
+ assert isinstance(w_app_f.code, gateway.BuiltinCode2)
+
+ called = []
+ fastcall_2 = w_app_f.code.fastcall_2
+ def witness_fastcall_2(space, w_func, w_a, w_b):
+ called.append(w_func)
+ return fastcall_2(space, w_func, w_a, w_b)
+
+ w_app_f.code.fastcall_2 = witness_fastcall_2
+ space = self.space
+
+ w_res = space.call_function(w_app_f, W_X(), space.wrap(3))
+
+ assert space.is_true(w_res)
+ assert called == [w_app_f]
+
def test_plain(self):
space = self.space
More information about the pypy-commit
mailing list