mirror of
https://github.com/python/cpython.git
synced 2024-11-25 02:44:06 +08:00
16c9415fba
Cover all the Mapping Protocol, almost all the Sequence Protocol (except PySequence_Fast) and a part of the Object Protocol. Move existing tests to Lib/test/test_capi/test_abstract.py and Modules/_testcapi/abstract.c. Add also tests for PyDict C API. |
||
---|---|---|
.. | ||
clinic | ||
abstract.c | ||
buffer.c | ||
code.c | ||
datetime.c | ||
dict.c | ||
docstring.c | ||
exceptions.c | ||
float.c | ||
gc.c | ||
getargs.c | ||
heaptype_relative.c | ||
heaptype.c | ||
immortal.c | ||
long.c | ||
mem.c | ||
parts.h | ||
pyos.c | ||
pytime.c | ||
README.txt | ||
structmember.c | ||
testcapi_long.h | ||
unicode.c | ||
vectorcall_limited.c | ||
vectorcall.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.