diff options
Diffstat (limited to 'Modules/_testmodule.c')
-rw-r--r-- | Modules/_testmodule.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/Modules/_testmodule.c b/Modules/_testmodule.c deleted file mode 100644 index e4c9c75..0000000 --- a/Modules/_testmodule.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * C Extension module to test Python interpreter C APIs. - * - * The 'test_*' functions exported by this module are run as part of the - * standard Python regression test, via Lib/test/test_capi.py. - */ - -#include "Python.h" - -static PyObject *TestError; /* set to exception object in init */ - -/* Test #defines from config.h (particularly the SIZEOF_* defines). - - The ones derived from autoconf on the UNIX-like OSes can be relied - upon (in the absence of sloppy cross-compiling), but the Windows - platforms have these hardcoded. Better safe than sorry. -*/ -static PyObject* -sizeof_error(const char* fatname, const char* typename, - int expected, int got) -{ - char buf[1024]; - sprintf(buf, "%s #define == %d but sizeof(%s) == %d", - fatname, expected, typename, got); - PyErr_SetString(TestError, buf); - return (PyObject*)NULL; -} - -static PyObject* -test_config(PyObject *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, ":test_config")) - return NULL; - -#define CHECK_SIZEOF(FATNAME, TYPE) \ - if (FATNAME != sizeof(TYPE)) \ - return sizeof_error(#FATNAME, #TYPE, FATNAME, sizeof(TYPE)) - - CHECK_SIZEOF(SIZEOF_INT, int); - CHECK_SIZEOF(SIZEOF_LONG, long); - CHECK_SIZEOF(SIZEOF_VOID_P, void*); - CHECK_SIZEOF(SIZEOF_TIME_T, time_t); -#ifdef HAVE_LONG_LONG - CHECK_SIZEOF(SIZEOF_LONG_LONG, LONG_LONG); -#endif - -#undef CHECK_SIZEOF - - Py_INCREF(Py_None); - return Py_None; -} - -static PyMethodDef TestMethods[] = { - {"test_config", test_config, METH_VARARGS}, - {NULL, NULL} /* sentinel */ -}; - -DL_EXPORT(void) -init_test(void) -{ - PyObject *m, *d; - - m = Py_InitModule("_test", TestMethods); - - TestError = PyErr_NewException("_test.error", NULL, NULL); - d = PyModule_GetDict(m); - PyDict_SetItemString(d, "error", TestError); -} |