[Python-checkins] CVS: python/dist/src/Modules _testcapimodule.c,NONE,1.1 _testmodule.c,1.1,NONE
Tim Peters
tim_one@users.sourceforge.net
Sat, 03 Feb 2001 19:09:55 -0800
- Previous message: [Python-checkins] CVS: python/dist/src/Misc NEWS,1.120,1.121
- Next message: [Python-checkins] CVS: python/dist/src/PCbuild _testcapi.dsp,NONE,1.1 pcbuild.dsw,1.25,1.26 python20.wse,1.26,1.27 readme.txt,1.19,1.20 _test.dsp,1.1,NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv19049/python/dist/src/Modules
Added Files:
_testcapimodule.c
Removed Files:
_testmodule.c
Log Message:
Renamed _testXXX to _testcapiXXX. Jack is my hero -- good call!
--- NEW FILE: _testcapimodule.c ---
/*
* 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_testcapi(void)
{
PyObject *m, *d;
m = Py_InitModule("_testcapi", TestMethods);
TestError = PyErr_NewException("_testcapi.error", NULL, NULL);
d = PyModule_GetDict(m);
PyDict_SetItemString(d, "error", TestError);
}
--- _testmodule.c DELETED ---
- Previous message: [Python-checkins] CVS: python/dist/src/Misc NEWS,1.120,1.121
- Next message: [Python-checkins] CVS: python/dist/src/PCbuild _testcapi.dsp,NONE,1.1 pcbuild.dsw,1.25,1.26 python20.wse,1.26,1.27 readme.txt,1.19,1.20 _test.dsp,1.1,NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]