MAINT: skip failing cython limited API tests on Cython 3.3.0 - #32407
Conversation
|
Thanks Nathan. |
|
@charris please don't backport this just yet, I think there is a decent chance that the test is wrong. See #32393 (comment). |
|
@rgommers OK |
|
This test could still really benefit from a clear explanation of what it's actually doing. The extension module is built only once, so what is and isn't covered by calling |
MAINT: skip failing cython limited API tests on Cython 3.3.0 (#32407)
|
This came in from #31822 by @kumaraditya303 and reviewed by @ngoldbaum. The PR does not have an issue attached, the only hint to the reason for it being added was
I did not see any review around the module being built only once. I think the intention was to build it for each iteration of the test. But I may be wrong. |
|
@mattip Building once is intentional, the single meson build compiles a separate module for each (abi3 python, numpy target) combination, see the loops in examples/limited_api/meson.build. Each parametrized test imports its own module by name (e.g. limited_api_cython_3_11_npy2_2) so every iteration tests a differently compiled binary. Rebuilding per test would just produce the same binaries serially. I think this test caught a real Cython bug where any process importing two abi3 cython modules targeting <3.11 and 3.11 was affected. |
|
I'm convinced now, thanks for the explanation added in gh-32444 Kumar. |
PR summary
Alternative to #32393.
See upstream report at cython/cython#7914 as well.
Implements @rgommers' suggested alternative to pinning: #32393 (comment)
I'm checking for exactly Cython 3.3.0 under the theory that 3.3.1 will have a fix.
AI Disclosure
No AI used.