mirror of https://github.com/python/cpython
09a25616a9
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 | ||
README.txt | ||
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 | ||
structmember.c | ||
testcapi_long.h | ||
unicode.c | ||
util.h | ||
vectorcall.c | ||
vectorcall_limited.c | ||
watchers.c |
README.txt
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.