René's URL Explorer Experiment


Title: gh-93649: Split vectorcall testing from _testcapimodule.c by encukou · Pull Request #94549 · python/cpython · GitHub

Open Graph Title: gh-93649: Split vectorcall testing from _testcapimodule.c by encukou · Pull Request #94549 · python/cpython

X Title: gh-93649: Split vectorcall testing from _testcapimodule.c by encukou · Pull Request #94549 · python/cpython

Description: The _testcapimodule.c file is getting too large to work with effectively. This PR lays out a general structure of how tests can be split up, with more splitting to come later if the structure is OK. Vectorcall tests aren't the biggest issue -- it's just an area I want to work on next, so I'm starting here. An issue specific to vectorcall tests is that it wasn't clear that e.g. MethodDescriptor2 is related to testing vectorcall: the /* Test PEP 590 */ section had an ambiguous end. Separate file should make things like this much clearer. OTOH, for some pieces it might not be clear where they should be -- I left meth_fastcall with tests of the other calling conventions. IMO, even with the ambiguity it's still worth it to split the huge file up. I'm not sure about the buildsystem changes, hopefully CI will tell me what's wrong. @vstinner, @markshannon: Do you think this is a good idea? Issue: gh-93649 Automerge-Triggered-By: GH:encukou

Open Graph Description: The _testcapimodule.c file is getting too large to work with effectively. This PR lays out a general structure of how tests can be split up, with more splitting to come later if the structure is OK...

X Description: The _testcapimodule.c file is getting too large to work with effectively. This PR lays out a general structure of how tests can be split up, with more splitting to come later if the structure is OK...

Opengraph URL: https://github.com/python/cpython/pull/94549

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:f886ec47-62d0-85b7-8c55-d2289002210a
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC958:99C2F:BC731:103295:69696314
html-safe-noncec0cda85d01a902594099d343af1947d63e467d022ac4ccea28cffecea4e354f7
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDOTU4Ojk5QzJGOkJDNzMxOjEwMzI5NTo2OTY5NjMxNCIsInZpc2l0b3JfaWQiOiI4NDcyNDUzOTk2ODM4NzQwNzU2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac6165cdb25b2f73de562123c3efa69f04c55baffd9992f6a8b466f8b4dbfe335e
hovercard-subject-tagpull_request:986658494
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/94549/files
twitter:imagehttps://avatars.githubusercontent.com/u/302922?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/302922?s=400&v=4
og:image:altThe _testcapimodule.c file is getting too large to work with effectively. This PR lays out a general structure of how tests can be split up, with more splitting to come later if the structure is OK...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None48487c1ad776a7975b7132d95f4240ff3ae37cd5b8e3cb597102a4edb76738f1
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release669463fcc54773a88c1f5a44eef6b99a5504b9c7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/94549/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F94549%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F94549%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/94549/files
Reloadhttps://github.com/python/cpython/pull/94549/files
Reloadhttps://github.com/python/cpython/pull/94549/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
miss-islingtonhttps://github.com/miss-islington
python:mainhttps://github.com/python/cpython/tree/main
encukou:testcapi-splithttps://github.com/encukou/cpython/tree/testcapi-split
Conversation 11 https://github.com/python/cpython/pull/94549
Commits 5 https://github.com/python/cpython/pull/94549/commits
Checks 0 https://github.com/python/cpython/pull/94549/checks
Files changed https://github.com/python/cpython/pull/94549/files
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
gh-93649: Split vectorcall testing from _testcapimodule.c https://github.com/python/cpython/pull/94549/files#top
Show all changes 5 commits https://github.com/python/cpython/pull/94549/files
9020fe3 gh-93649: Split vectorcall testing from _testcapimodule.c encukou Jul 4, 2022 https://github.com/python/cpython/pull/94549/commits/9020fe313416c69fc13982692e36ab2b8288faaf
735b3b5 Add testcapi parts to Makefile.pre.in encukou Jul 8, 2022 https://github.com/python/cpython/pull/94549/commits/735b3b52347b62479f3c624d7045bce1bfef0bc9
abeb4dc Remove trailing newlines in vcxproj files encukou Jul 8, 2022 https://github.com/python/cpython/pull/94549/commits/abeb4dc4cc399f6fd0ac45d305dc4c61d47a6a9b
96764ca Use shorter file names encukou Jul 8, 2022 https://github.com/python/cpython/pull/94549/commits/96764cae15bc7637f97eb10880701a55b4265f58
c9d78a9 Style nitpick encukou Jul 8, 2022 https://github.com/python/cpython/pull/94549/commits/c9d78a9019f5c6aff70f540e2de5ac571c5200cb
Clear filters https://github.com/python/cpython/pull/94549/files
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
Makefile.pre.in https://github.com/python/cpython/pull/94549/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
Setup.stdlib.in https://github.com/python/cpython/pull/94549/files#diff-93b54a98829ea89eaf6335c02f546511f7780d865131407436b10a401ecd375c
README.txt https://github.com/python/cpython/pull/94549/files#diff-a7b8e647398a24dee05511b8bb21b59f703ef83ee32b1011058d731811922a89
parts.h https://github.com/python/cpython/pull/94549/files#diff-cda7cf7eb449238a999023ecd2b9e421c402b83d4ab7a16d2bf9cce68dad32ba
vectorcall.c https://github.com/python/cpython/pull/94549/files#diff-087ccabb1d90773399a7763b3d8725349bf1dc798a4785ed945d4a579ea6f8ea
_testcapimodule.c https://github.com/python/cpython/pull/94549/files#diff-b2d7540efa4f376350ef77b923a6dfcc54bb90424970477f66275f19bad0d30f
_testcapi.vcxproj https://github.com/python/cpython/pull/94549/files#diff-84a64a18e83c2b6057a2eb75ee9c6bf2695a4948b62f8bd268a0f4f46d774830
_testcapi.vcxproj.filters https://github.com/python/cpython/pull/94549/files#diff-5772d42704a7c3ceafeaabcda5f995cb70bd48acd70c9c4d2e5bf2319a706bb3
setup.py https://github.com/python/cpython/pull/94549/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L84
Makefile.pre.inhttps://github.com/python/cpython/pull/94549/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
View file https://github.com/encukou/cpython/blob/c9d78a9019f5c6aff70f540e2de5ac571c5200cb/Makefile.pre.in
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/94549/{{ revealButtonHref }}
https://github.com/python/cpython/pull/94549/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/94549/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L86
Modules/Setup.stdlib.inhttps://github.com/python/cpython/pull/94549/files#diff-93b54a98829ea89eaf6335c02f546511f7780d865131407436b10a401ecd375c
View file https://github.com/encukou/cpython/blob/c9d78a9019f5c6aff70f540e2de5ac571c5200cb/Modules/Setup.stdlib.in
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/94549/{{ revealButtonHref }}
https://github.com/python/cpython/pull/94549/files#diff-93b54a98829ea89eaf6335c02f546511f7780d865131407436b10a401ecd375c
https://github.com/python/cpython/pull/94549/files#diff-93b54a98829ea89eaf6335c02f546511f7780d865131407436b10a401ecd375c
Modules/_testcapi/README.txthttps://github.com/python/cpython/pull/94549/files#diff-a7b8e647398a24dee05511b8bb21b59f703ef83ee32b1011058d731811922a89
View file https://github.com/encukou/cpython/blob/c9d78a9019f5c6aff70f540e2de5ac571c5200cb/Modules/_testcapi/README.txt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/94549/{{ revealButtonHref }}
Modules/_testcapi/parts.hhttps://github.com/python/cpython/pull/94549/files#diff-cda7cf7eb449238a999023ecd2b9e421c402b83d4ab7a16d2bf9cce68dad32ba
View file https://github.com/encukou/cpython/blob/c9d78a9019f5c6aff70f540e2de5ac571c5200cb/Modules/_testcapi/parts.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/94549/{{ revealButtonHref }}
Modules/_testcapi/vectorcall.chttps://github.com/python/cpython/pull/94549/files#diff-087ccabb1d90773399a7763b3d8725349bf1dc798a4785ed945d4a579ea6f8ea
View file https://github.com/encukou/cpython/blob/c9d78a9019f5c6aff70f540e2de5ac571c5200cb/Modules/_testcapi/vectorcall.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/94549/{{ revealButtonHref }}
Please reload this pagehttps://github.com/python/cpython/pull/94549/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.