mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Make sure that the internal C API is not tested by mistake by _testcapi. Undefine Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE macros in Modules/_testcapi/parts.h: move code from _testcapimodule.c. heaptype_relative.c and vectorcall_limited.c are using the limited C API which is incompatible with the internal C API. Move test_long_numbits() from _testcapi to _testinternalcapi since it uses the internal C API "pycore_long.h". Fix Modules/_testcapi/pyatomic.c: don't include Python.h directly, just include _testcapi/parts.h. Ajust "make check-c-globals" for these changes. |
||
|---|---|---|
| .. | ||
| clinic | ||
| abstract.c | ||
| buffer.c | ||
| code.c | ||
| datetime.c | ||
| dict.c | ||
| docstring.c | ||
| exceptions.c | ||
| float.c | ||
| gc.c | ||
| getargs.c | ||
| heaptype.c | ||
| heaptype_relative.c | ||
| immortal.c | ||
| long.c | ||
| mem.c | ||
| parts.h | ||
| pyatomic.c | ||
| pyos.c | ||
| README.txt | ||
| structmember.c | ||
| testcapi_long.h | ||
| unicode.c | ||
| util.h | ||
| vectorcall.c | ||
| vectorcall_limited.c | ||
| watchers.c | ||
Tests in this directory are compiled into the _testcapi extension. The main file for the extension is Modules/_testcapimodule.c, which calls `_PyTestCapi_Init_*` from these functions. General guideline when writing test code for C API. * Use Argument Clinic to minimise the amount of boilerplate code. * Add a newline between the argument spec and the docstring. * If a test description is needed, make sure the added docstring clearly and succinctly describes purpose of the function. * DRY, use the clone feature of Argument Clinic. * Try to avoid adding new interned strings; reuse existing parameter names if possible. Use the `as` feature of Argument Clinic to override the C variable name, if needed.