[pypy-commit] pypy default: added test for setitem for tupleobjects in cpyext
l.diekmann
noreply at buildbot.pypy.org
Wed May 25 16:48:04 CEST 2011
Author: Lukas Diekmann <lukas.diekmann at uni-duesseldorf.de>
Branch:
Changeset: r44446:d90518dcf43b
Date: 2011-04-07 12:45 +0200
http://bitbucket.org/pypy/pypy/changeset/d90518dcf43b/
Log: added test for setitem for tupleobjects in cpyext
diff --git a/pypy/module/cpyext/test/test_tupleobject.py b/pypy/module/cpyext/test/test_tupleobject.py
--- a/pypy/module/cpyext/test/test_tupleobject.py
+++ b/pypy/module/cpyext/test/test_tupleobject.py
@@ -3,9 +3,10 @@
from pypy.module.cpyext.pyobject import PyObject, PyObjectP, make_ref, from_ref
from pypy.module.cpyext.test.test_api import BaseApiTest
from pypy.rpython.lltypesystem import rffi, lltype
+from pypy.conftest import gettestobjspace
class TestTupleObject(BaseApiTest):
- #XXX these tests do not test both W_SmallTupleObject and W_TupleObject
+
def test_tupleobject(self, space, api):
assert not api.PyTuple_Check(space.w_None)
assert api.PyTuple_SetItem(space.w_None, 0, space.w_None) == -1
@@ -29,3 +30,15 @@
api.Py_DecRef(ar[0])
lltype.free(ar, flavor='raw')
+
+ def test_setitem(self, space, api):
+ atuple = space.newtuple([space.wrap(0), space.wrap("hello")])
+ assert api.PyTuple_Size(atuple) == 2
+ assert space.eq_w(space.getitem(atuple, space.wrap(0)), space.wrap(0))
+ assert space.eq_w(space.getitem(atuple, space.wrap(1)), space.wrap("hello"))
+ w_obj = space.wrap(1)
+ api.Py_IncRef(w_obj)
+ api.PyTuple_SetItem(atuple, 1, w_obj)
+ assert api.PyTuple_Size(atuple) == 2
+ assert space.eq_w(space.getitem(atuple, space.wrap(0)), space.wrap(0))
+ assert space.eq_w(space.getitem(atuple, space.wrap(1)), space.wrap(1))
More information about the pypy-commit
mailing list