Merged revisions 76822,76824 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r76822 | benjamin.peterson | 2009-12-13 15:21:43 -0600 (Sun, 13 Dec 2009) | 1 line initialize to NULL ........ r76824 | benjamin.peterson | 2009-12-13 15:27:53 -0600 (Sun, 13 Dec 2009) | 1 line add a test of loading the datetime capi ........
This commit is contained in:
parent
5f4ec0451c
commit
91d58bd146
|
@ -182,7 +182,7 @@ typedef struct {
|
|||
#else
|
||||
|
||||
/* Define global variable for the C API and a macro for setting it. */
|
||||
static PyDateTime_CAPI *PyDateTimeAPI;
|
||||
static PyDateTime_CAPI *PyDateTimeAPI = NULL;
|
||||
|
||||
#define PyDateTime_IMPORT \
|
||||
PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0)
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "Python.h"
|
||||
#include <float.h>
|
||||
#include "structmember.h"
|
||||
#include "datetime.h"
|
||||
|
||||
#ifdef WITH_THREAD
|
||||
#include "pythread.h"
|
||||
|
@ -935,6 +936,20 @@ raise_exception(PyObject *self, PyObject *args)
|
|||
|
||||
#ifdef WITH_THREAD
|
||||
|
||||
static PyObject *
|
||||
test_datetime_capi(PyObject *self, PyObject *args) {
|
||||
if (PyDateTimeAPI) {
|
||||
PyErr_SetString(PyExc_AssertionError,
|
||||
"PyDateTime_CAPI somehow initialized");
|
||||
return NULL;
|
||||
}
|
||||
PyDateTime_IMPORT;
|
||||
if (PyDateTimeAPI)
|
||||
Py_RETURN_NONE;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* test_thread_state spawns a thread of its own, and that thread releases
|
||||
* `thread_done` when it's finished. The driver code has to know when the
|
||||
* thread finishes, because the thread uses a PyObject (the callable) that
|
||||
|
@ -1531,6 +1546,7 @@ static PyMethodDef TestMethods[] = {
|
|||
{"raise_exception", raise_exception, METH_VARARGS},
|
||||
{"raise_memoryerror", (PyCFunction)raise_memoryerror, METH_NOARGS},
|
||||
{"test_config", (PyCFunction)test_config, METH_NOARGS},
|
||||
{"test_datetime_capi", test_datetime_capi, METH_NOARGS},
|
||||
{"test_list_api", (PyCFunction)test_list_api, METH_NOARGS},
|
||||
{"test_dict_iteration", (PyCFunction)test_dict_iteration,METH_NOARGS},
|
||||
{"test_lazy_hash_inheritance", (PyCFunction)test_lazy_hash_inheritance,METH_NOARGS},
|
||||
|
|
Loading…
Reference in New Issue