| 
									
										
										
										
											2024-03-07 19:31:12 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * 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; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-05-03 08:30:55 -07:00
										 |  |  | #ifdef Py_GIL_DISABLED
 | 
					
						
							| 
									
										
										
										
											2024-05-06 18:59:36 +02:00
										 |  |  |     PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED); | 
					
						
							| 
									
										
										
										
											2024-05-03 08:30:55 -07:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2024-03-07 19:31:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-19 11:44:13 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Abstract(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_ByteArray(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-11 11:28:16 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Bytes(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-07 19:31:12 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-09-29 17:22:39 +02:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Codec(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-19 17:23:12 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Complex(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-19 16:06:20 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Dict(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-08 14:16:20 +02:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Eval(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-19 11:44:13 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Float(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_HeaptypeRelative(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-07 19:31:12 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-01-17 18:52:18 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Import(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_List(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-18 22:03:55 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-19 15:04:23 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Long(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-21 17:07:00 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Object(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_PyOS(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-11 11:28:16 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Set(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-18 22:03:55 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Sys(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-11 11:28:16 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-08-26 12:57:52 +03:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Tuple(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-19 13:30:39 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Unicode(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-18 23:06:52 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_VectorcallLimited(mod) < 0) { | 
					
						
							| 
									
										
										
										
											2024-03-11 11:28:16 +01:00
										 |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-01-09 11:10:28 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_Version(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2025-01-30 18:05:32 +01:00
										 |  |  |     if (_PyTestLimitedCAPI_Init_File(mod) < 0) { | 
					
						
							|  |  |  |         return NULL; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-03-07 19:31:12 +01:00
										 |  |  |     return mod; | 
					
						
							|  |  |  | } |