[pypy-svn] r72558 - pypy/trunk/pypy/module/cpyext/test
afa at codespeak.net
afa at codespeak.net
Mon Mar 22 15:02:18 CET 2010
Author: afa
Date: Mon Mar 22 15:02:16 2010
New Revision: 72558
Modified:
pypy/trunk/pypy/module/cpyext/test/test_boolobject.py
pypy/trunk/pypy/module/cpyext/test/test_floatobject.py
pypy/trunk/pypy/module/cpyext/test/test_stringobject.py
Log:
use the new function to create modules
Modified: pypy/trunk/pypy/module/cpyext/test/test_boolobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/test/test_boolobject.py (original)
+++ pypy/trunk/pypy/module/cpyext/test/test_boolobject.py Mon Mar 22 15:02:16 2010
@@ -5,61 +5,41 @@
class AppTestBoolObject(AppTestCpythonExtensionBase):
def test_boolobject(self):
- import sys
- init = """
- if (Py_IsInitialized())
- Py_InitModule("foo", methods);
- """
- body = """
- static PyObject* foo_get_true(PyObject* self, PyObject *args)
- {
- Py_RETURN_TRUE;
- }
- static PyObject* foo_get_false(PyObject* self, PyObject *args)
- {
- Py_RETURN_FALSE;
- }
- static PyObject* foo_test_FromLong(PyObject* self, PyObject *args)
- {
- int i;
- for(i=-3; i<3; i++)
- {
- PyObject* obj = PyBool_FromLong(i);
- PyObject* expected = (i ? Py_True : Py_False);
-
- if(obj != expected)
- {
- Py_DECREF(obj);
- Py_RETURN_FALSE;
- }
- Py_DECREF(obj);
- }
- Py_RETURN_TRUE;
- }
- static PyObject* foo_test_Check(PyObject* self, PyObject *args)
- {
- int result = 0;
- PyObject* f = PyFloat_FromDouble(1.0);
-
- if(PyBool_Check(Py_True) &&
- PyBool_Check(Py_False) &&
- !PyBool_Check(f))
- {
- result = 1;
- }
- Py_DECREF(f);
- return PyBool_FromLong(result);
- }
- static PyMethodDef methods[] = {
- { "get_true", foo_get_true, METH_NOARGS },
- { "get_false", foo_get_false, METH_NOARGS },
- { "test_FromLong", foo_test_FromLong, METH_NOARGS },
- { "test_Check", foo_test_Check, METH_NOARGS },
- { NULL }
- };
- """
- module = self.import_module(name='foo', init=init, body=body)
- assert 'foo' in sys.modules
+ module = self.import_extension('foo', [
+ ("get_true", "METH_NOARGS", "Py_RETURN_TRUE;"),
+ ("get_false", "METH_NOARGS", "Py_RETURN_FALSE;"),
+ ("test_FromLong", "METH_NOARGS",
+ """
+ int i;
+ for(i=-3; i<3; i++)
+ {
+ PyObject* obj = PyBool_FromLong(i);
+ PyObject* expected = (i ? Py_True : Py_False);
+
+ if(obj != expected)
+ {
+ Py_DECREF(obj);
+ Py_RETURN_FALSE;
+ }
+ Py_DECREF(obj);
+ }
+ Py_RETURN_TRUE;
+ """),
+ ("test_Check", "METH_NOARGS",
+ """
+ int result = 0;
+ PyObject* f = PyFloat_FromDouble(1.0);
+
+ if(PyBool_Check(Py_True) &&
+ PyBool_Check(Py_False) &&
+ !PyBool_Check(f))
+ {
+ result = 1;
+ }
+ Py_DECREF(f);
+ return PyBool_FromLong(result);
+ """),
+ ])
assert module.get_true() == True
assert module.get_false() == False
assert module.test_FromLong() == True
Modified: pypy/trunk/pypy/module/cpyext/test/test_floatobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/test/test_floatobject.py (original)
+++ pypy/trunk/pypy/module/cpyext/test/test_floatobject.py Mon Mar 22 15:02:16 2010
@@ -5,30 +5,18 @@
class AppTestFloatObject(AppTestCpythonExtensionBase):
def test_floatobject(self):
- import sys
- init = """
- if (Py_IsInitialized())
- Py_InitModule("foo", methods);
- """
- body = """
- static PyObject* foo_FromDouble(PyObject* self, PyObject *args)
- {
- return PyFloat_FromDouble(3.14);
- }
- static PyObject* foo_AsDouble(PyObject* self, PyObject *args)
- {
- PyObject* obj = PyFloat_FromDouble(23.45);
- double d = PyFloat_AsDouble(obj);
- Py_DECREF(obj);
- return PyFloat_FromDouble(d);
- }
- static PyMethodDef methods[] = {
- { "FromDouble", foo_FromDouble, METH_NOARGS },
- { "AsDouble", foo_AsDouble, METH_NOARGS },
- { NULL }
- };
- """
- module = self.import_module(name='foo', init=init, body=body)
- assert 'foo' in sys.modules
+ module = self.import_extension('foo', [
+ ("FromDouble", "METH_NOARGS",
+ """
+ return PyFloat_FromDouble(3.14);
+ """),
+ ("AsDouble", "METH_NOARGS",
+ """
+ PyObject* obj = PyFloat_FromDouble(23.45);
+ double d = PyFloat_AsDouble(obj);
+ Py_DECREF(obj);
+ return PyFloat_FromDouble(d);
+ """),
+ ])
assert module.FromDouble() == 3.14
assert module.AsDouble() == 23.45
Modified: pypy/trunk/pypy/module/cpyext/test/test_stringobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/test/test_stringobject.py (original)
+++ pypy/trunk/pypy/module/cpyext/test/test_stringobject.py Mon Mar 22 15:02:16 2010
@@ -38,4 +38,4 @@
assert module.get_hello1() == 'Hello world'
assert module.get_hello2() == 'Hello world'
assert module.test_Size()
- raises(TypeError, "module.test_Size_exception()")
+ raises(TypeError, module.test_Size_exception)
More information about the Pypy-commit
mailing list