Title: Split up _testcapimodule.c · Issue #93649 · python/cpython · GitHub
Open Graph Title: Split up _testcapimodule.c · Issue #93649 · python/cpython
X Title: Split up _testcapimodule.c · Issue #93649 · python/cpython
Description: Modules/_testcapimodule.c is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain. It also doesn't work well with testing (a) feature macros that affect Python.h and (b) module initializatio...
Open Graph Description: Modules/_testcapimodule.c is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain. It also doesn't work well with testing (a) feature macros that affe...
X Description: Modules/_testcapimodule.c is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain. It also doesn't work well with testing (a) feature macros that ...
Opengraph URL: https://github.com/python/cpython/issues/93649
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Split up _testcapimodule.c","articleBody":"`Modules/_testcapimodule.c` is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain.\r\n\r\nIt also doesn't work well with testing (a) feature macros that affect `Python.h` and (b) module initialization, so we have additional C-API testing modules: `_testmultiphase`, `_testimportmultiple`, `_testinternalcapi`.\r\n`_testbuffer` is already split out, but there are many other aspects of the API that would use a similar dedicated test suite.\r\n\r\nWe should split and combine these, ideally without polluting the namespace of top-level modules.\r\n\r\n\u003c!-- gh-pr-number: gh-94549 --\u003e\r\n* PR: gh-94549\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-94695 --\u003e\r\n* PR: gh-94695\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-94702 --\u003e\r\n* PR: gh-94702\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-95386 --\u003e\r\n* PR: gh-95386\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-95793 --\u003e\r\n* PR: gh-95793\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-95819 --\u003e\r\n* PR: gh-95819\r\n\u003c!-- /gh-pr-number --\u003e\r\n\r\n\u003c!-- gh-pr-number: gh-99346 --\u003e\r\n* PR: gh-99346\r\n\u003c!-- /gh-pr-number --\u003e\r\n\n\n\u003c!-- gh-pr-number: gh-99494 --\u003e\n* PR: gh-99494\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-99517 --\u003e\n* PR: gh-99517\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-99532 --\u003e\n* PR: gh-99532\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-99549 --\u003e\n* PR: gh-99549\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-99551 --\u003e\n* PR: gh-99551\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-102173 --\u003e\n* PR: gh-102173\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-104403 --\u003e\n* PR: gh-104403\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-129400 --\u003e\n* PR: gh-129400\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-129512 --\u003e\n* PR: gh-129512\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-129516 --\u003e\n* PR: gh-129516\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-129521 --\u003e\n* PR: gh-129521\n\u003c!-- /gh-pr-number --\u003e\n\n\n\u003c!-- gh-pr-number: gh-129544 --\u003e\n* PR: gh-129544\n\u003c!-- /gh-pr-number --\u003e\n","author":{"url":"https://github.com/encukou","@type":"Person","name":"encukou"},"datePublished":"2022-06-09T15:53:22.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":38},"url":"https://github.com/93649/cpython/issues/93649"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:13346d38-d65d-c7dc-3735-f507e92f2c58 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C762:4D9DF:19374D7:238D381:69690206 |
| html-safe-nonce | 1887cf65e54036a5fd1aa1e98f59b9d3d9e0ec65c737af3599d6f4adf399aa94 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNzYyOjREOURGOjE5Mzc0RDc6MjM4RDM4MTo2OTY5MDIwNiIsInZpc2l0b3JfaWQiOiI4ODcyNjU0MzU5Mzc1NzA4Njc4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 753ccbaff072613b81458ad9271e32878a83cbf55e0fe7938d72cc81ebf95206 |
| hovercard-subject-tag | issue:1266349205 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/93649/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d77e462e723dbcdf75613fe441644cbc84e7d81fcabf5356b95e64e2908d2b5b/python/cpython/issues/93649 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d77e462e723dbcdf75613fe441644cbc84e7d81fcabf5356b95e64e2908d2b5b/python/cpython/issues/93649 |
| og:image:alt | Modules/_testcapimodule.c is a nearly-8000-line behemoth with no clear structure or organization. It is getting hard to maintain. It also doesn't work well with testing (a) feature macros that affe... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | encukou |
| hostname | github.com |
| expected-hostname | github.com |
| None | e6156bd4ef9f2dc8dadf4c49a8f7ed8532186388cef72eda3ccb9f0ab3b8cfca |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | fd1938215b152e2c6a29cf56fec07fd9f91f1203 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width