[pypy-svn] r74963 - pypy/trunk/pypy/module/cpyext/test
afa at codespeak.net
afa at codespeak.net
Mon May 31 10:59:42 CEST 2010
Author: afa
Date: Mon May 31 10:59:41 2010
New Revision: 74963
Modified:
pypy/trunk/pypy/module/cpyext/test/test_object.py
Log:
Fix test: PyObject_TypeCheck is now a macro.
Modified: pypy/trunk/pypy/module/cpyext/test/test_object.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/test/test_object.py (original)
+++ pypy/trunk/pypy/module/cpyext/test/test_object.py Mon May 31 10:59:41 2010
@@ -127,17 +127,6 @@
assert api.PyErr_Occurred() is space.w_SystemError
api.PyErr_Clear()
- def test_TypeCheck(self, space, api):
- assert api.PyObject_TypeCheck(space.wrap(1), space.w_int)
- assert api.PyObject_TypeCheck(space.wrap(1), api.PyInt_Type)
- assert api.PyObject_TypeCheck(space.wrap('foo'), space.w_str)
- assert api.PyObject_TypeCheck(space.wrap('foo'), api.PyString_Type)
- assert api.PyObject_TypeCheck(space.wrap('foo'), space.w_object)
- assert api.PyObject_TypeCheck(space.wrap(1L), api.PyLong_Type)
- assert api.PyObject_TypeCheck(space.wrap(True), api.PyBool_Type)
- assert api.PyObject_TypeCheck(space.wrap(1.2), api.PyFloat_Type)
- assert api.PyObject_TypeCheck(space.w_int, api.PyType_Type)
-
def test_IsInstance(self, space, api):
assert api.PyObject_IsInstance(space.wrap(1), space.w_int) == 1
assert api.PyObject_IsInstance(space.wrap(1), space.w_float) == 0
@@ -203,11 +192,27 @@
space.call_method(w_file, "close")
assert (udir / "_test_file").read() == "text"
-class AppTestObjectPrint(AppTestCpythonExtensionBase):
+class AppTestObject(AppTestCpythonExtensionBase):
def setup_class(cls):
AppTestCpythonExtensionBase.setup_class.im_func(cls)
cls.w_tmpname = cls.space.wrap(str(py.test.ensuretemp("out", dir=0)))
+ def test_TypeCheck(self):
+ module = self.import_extension('foo', [
+ ("typecheck", "METH_VARARGS",
+ """
+ PyObject *obj = PyTuple_GET_ITEM(args, 0);
+ PyObject *type = PyTuple_GET_ITEM(args, 1);
+ return PyBool_FromLong(PyObject_TypeCheck(obj, type));
+ """)])
+ assert module.typecheck(1, int)
+ assert module.typecheck('foo', str)
+ assert module.typecheck('foo', object)
+ assert module.typecheck(1L, long)
+ assert module.typecheck(True, bool)
+ assert module.typecheck(1.2, float)
+ assert module.typecheck(int, type)
+
def test_print(self):
module = self.import_extension('foo', [
("dump", "METH_VARARGS",
More information about the Pypy-commit
mailing list