You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Limited API tests are now incorrectly skipped unconditionally #109045
Commit 13a0007 (#108663, cc @vstinner) made all Python builds compatible with the Limited API, and removed the LIMITED_API_AVAILABLE flag. However, some tests are still checking for that flag, so they are now being incorrectly skipped.
I'm now curious. How did you notice that some tests were always skipped?
I actually found this from the source—during an unrelated investigation I noticed that changes to heaptype_relative.c and vectorcall_limited.c had no effect even when introducing deliberate compile errors.
(The unrelated investigation is into the feasibility of const-marking fields like tp_methods, tp_members, tp_getset, m_ml, m_methods, m_slots so that we can conveniently move a bunch of structs with function pointers to read-only memory for slightly improved security hardening.)
Activity
pythongh-109045: Remove remaining LIMITED_API_AVAILABLE checks in tests
gh-109045: Remove remaining LIMITED_API_AVAILABLE checks in tests (#1…
vstinner commentedon Sep 7, 2023
I'm now curious. How did you notice that some tests were always skipped?
vstinner commentedon Sep 7, 2023
Before:
After:
I can see that there are less skipped tests :-) By the way, remaining skips:
vstinner commentedon Sep 7, 2023
I created issue #109050 for
skipped 'requires legacy Unicode C API'tests.andersk commentedon Sep 7, 2023
I actually found this from the source—during an unrelated investigation I noticed that changes to
heaptype_relative.candvectorcall_limited.chad no effect even when introducing deliberate compile errors.(The unrelated investigation is into the feasibility of
const-marking fields liketp_methods,tp_members,tp_getset,m_ml,m_methods,m_slotsso that we can conveniently move a bunch of structs with function pointers to read-only memory for slightly improved security hardening.)vstinner commentedon Sep 7, 2023
It's always good to test the tests by injecting errors on purpose and making sure that... they fail :-) Especially during development!