cpython/Modules/_testcapi
Serhiy Storchaka 1f885df2a5
gh-107782: Use _testcapi to test non-representable signatures (GH-109325)
Builtin functions and methods that have non-representable signatures today
will have representable signatures yesterday, and they will become unusable
for testing this feature.

So we need to add special functions and methods to the _testcapi module
that always have non-representable signatures.
2023-09-14 09:12:17 +03:00
..
clinic gh-106320: Remove private _PyErr_WriteUnraisableMsg() (#108863) 2023-09-05 01:54:55 +02:00
abstract.c C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
buffer.c gh-106869: Use new PyMemberDef constant names (#106871) 2023-07-25 15:28:30 +02:00
code.c C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
datetime.c
dict.c C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
docstring.c gh-107782: Use _testcapi to test non-representable signatures (GH-109325) 2023-09-14 09:12:17 +03:00
exceptions.c C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
float.c gh-104922: remove PY_SSIZE_T_CLEAN (#106315) 2023-07-02 15:07:46 +09:00
gc.c
getargs.c gh-109050: Remove remaining tests for legacy Unicode C API (GH-109068) 2023-09-09 05:44:46 +00:00
heaptype.c gh-106869: Use new PyMemberDef constant names (#106871) 2023-07-25 15:28:30 +02:00
heaptype_relative.c gh-109045: Remove remaining LIMITED_API_AVAILABLE checks in tests (#109046) 2023-09-07 04:42:58 +02:00
immortal.c
long.c gh-106320: Remove private _PyLong_Sign() (#108743) 2023-09-01 09:13:07 +02:00
mem.c gh-106320: Remove private _PyMem API (#107187) 2023-07-24 18:48:06 +00:00
parts.h gh-108337: Add pyatomic.h header (#108701) 2023-08-31 21:41:18 +00:00
pyatomic.c gh-108337: Add pyatomic.h header (#108701) 2023-08-31 21:41:18 +00:00
pyos.c
README.txt
structmember.c gh-47146: Fix reference counting in _testcapi.structmember initializer (GH-106862) 2023-07-21 12:30:14 +03:00
testcapi_long.h
unicode.c C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
util.h C API tests: use special markers to test that output parameters were set (GH-109014) 2023-09-06 22:02:01 +03:00
vectorcall.c gh-107609: Fix duplicate module check in Argument Clinic (#107610) 2023-08-04 07:28:25 +02:00
vectorcall_limited.c gh-109045: Remove remaining LIMITED_API_AVAILABLE checks in tests (#109046) 2023-09-07 04:42:58 +02:00
watchers.c gh-91054: make code watcher tests resilient to other watchers (#107821) 2023-08-09 16:42:32 -06:00

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.