| /* |
| * Test the limited C API. |
| * |
| * The 'test_*' functions exported by this module are run as part of the |
| * standard Python regression test, via Lib/test/test_capi.py. |
| */ |
| |
| #include "_testlimitedcapi/parts.h" |
| |
| static PyMethodDef TestMethods[] = { |
| {NULL, NULL} /* sentinel */ |
| }; |
| |
| static struct PyModuleDef _testlimitedcapimodule = { |
| PyModuleDef_HEAD_INIT, |
| .m_name = "_testlimitedcapi", |
| .m_size = 0, |
| .m_methods = TestMethods, |
| }; |
| |
| PyMODINIT_FUNC |
| PyInit__testlimitedcapi(void) |
| { |
| PyObject *mod = PyModule_Create(&_testlimitedcapimodule); |
| if (mod == NULL) { |
| return NULL; |
| } |
| #ifdef Py_GIL_DISABLED |
| PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED); |
| #endif |
| |
| if (_PyTestLimitedCAPI_Init_Abstract(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_ByteArray(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Bytes(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Complex(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Dict(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Float(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_HeaptypeRelative(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_List(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Long(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Object(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_PyOS(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Set(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Sys(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Tuple(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_Unicode(mod) < 0) { |
| return NULL; |
| } |
| if (_PyTestLimitedCAPI_Init_VectorcallLimited(mod) < 0) { |
| return NULL; |
| } |
| return mod; |
| } |