The test coverage in our FFI compat shims is poor:
https://app.codecov.io/github/pyo3/pyo3/tree/main/pyo3-ffi%2Fsrc%2Fcompat
At time of writing, coverage for pyo3-ffi/compat is at 67%.
There's a chance of subtle breakage that only happens on older Python versions. It also adds friction to adding new compat shims because there's no infrastructure for adding tests and no clear way of making the coverage CI checks pass.
See #5955 (comment) for a concrete time this caused friction for a contribution.
The pythoncapi-compat repository has extensive tests for its compat shims which we can probably crib off of:
https://github.com/python/pythoncapi-compat/blob/main/tests/test_pythoncapi_compat_cext.c
The test coverage in our FFI compat shims is poor:
https://app.codecov.io/github/pyo3/pyo3/tree/main/pyo3-ffi%2Fsrc%2Fcompat
At time of writing, coverage for
pyo3-ffi/compatis at 67%.There's a chance of subtle breakage that only happens on older Python versions. It also adds friction to adding new compat shims because there's no infrastructure for adding tests and no clear way of making the coverage CI checks pass.
See #5955 (comment) for a concrete time this caused friction for a contribution.
The pythoncapi-compat repository has extensive tests for its compat shims which we can probably crib off of:
https://github.com/python/pythoncapi-compat/blob/main/tests/test_pythoncapi_compat_cext.c