René's URL Explorer Experiment


Title: bpo-29070: Integration tests for pty module with patch from bpo-26228 by diekmann · Pull Request #2932 · python/cpython · GitHub

Open Graph Title: bpo-29070: Integration tests for pty module with patch from bpo-26228 by diekmann · Pull Request #2932 · python/cpython

X Title: bpo-29070: Integration tests for pty module with patch from bpo-26228 by diekmann · Pull Request #2932 · python/cpython

Description: TL;DR: Fix issue and add huge test suite for pty.py. Some development of a test suite with integration tests for the pty module happened over several months in the python bug tracker (when python was still on mercurial). Martin Panter already did some awesome review of the code, unfortunately he is currently unavailable and nothing happened in the bug tracker for some months. This is the github pull request of the test suite. Summary what happened so far: Chris Torek observed and fixed a bug in the pty module bpo-26228. People seem to agree about the bug and that the patch by Chris solves the problem. However, it was never merged, probably due to missing test cases. Independently, I wrote a kind-of-large test suite and integration tests for the pty module bpo-29070. Martin Panter and Xavier de Gaye helped improving the code. Some comments are still in the review tool. Just a test suite for the pty module cannot be merged because the tests fail on Mac OS, FreeBSD, ... This is why I include Chris Torek's patch into this pull request. On all systems I could test on, the test suite passes (but I cannot rule out that there are some strange UNIX flavors where we will uncover issues). If this gets merged, we can close two bpo issues and finally have a nice pty test suite, something that is missing for a long time. Contributors: Patch from Chris Torek [bpo-26228] is included in this pull request! I added him to the ACKS, but I'm not sure if he wants to appear there. https://bugs.python.org/issue29070

Open Graph Description: TL;DR: Fix issue and add huge test suite for pty.py. Some development of a test suite with integration tests for the pty module happened over several months in the python bug tracker (when python w...

X Description: TL;DR: Fix issue and add huge test suite for pty.py. Some development of a test suite with integration tests for the pty module happened over several months in the python bug tracker (when python w...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:f881510c-1e2b-5e10-8d9f-40390f6cb075
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idAA28:2B9FF1:34432C2:459E3E5:6A6551F6
html-safe-noncefe29f398372999e94e5b61f154feaf316da49794706f00cd6c77482d6a5ca9b4
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQTI4OjJCOUZGMTozNDQzMkMyOjQ1OUUzRTU6NkE2NTUxRjYiLCJ2aXNpdG9yX2lkIjoiODUwMjM0ODY4MjkyNzM2MjU1MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac8435b2d4b254c2575159bc005ee608206c00f7eb6031fe1987a75231a85ea5cb
hovercard-subject-tagpull_request:132997338
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/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
twitter:imagehttps://avatars.githubusercontent.com/u/1486029?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1486029?s=400&v=4
og:image:altTL;DR: Fix issue and add huge test suite for pty.py. Some development of a test suite with integration tests for the pty module happened over several months in the python bug tracker (when python w...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F2932%2Fcommits%2F8afd1e73c357b3be02c4ca989d37c218bd0d0195
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
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/enterprise/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%2F2932%2Fcommits%2F8afd1e73c357b3be02c4ca989d37c218bd0d0195
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%2Fcommits&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Reloadhttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Reloadhttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.9k 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.4k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
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 and quality 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
diekmannhttps://github.com/diekmann
python:masterhttps://github.com/python/cpython/tree/master
diekmann:wip-issue-29070https://github.com/diekmann/cpython/tree/wip-issue-29070
Conversation 2 https://github.com/python/cpython/pull/2932
Commits 26 https://github.com/python/cpython/pull/2932/commits
Checks 0 https://github.com/python/cpython/pull/2932/checks
Files changed https://github.com/python/cpython/pull/2932/files
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
bpo-29070: Integration tests for pty module with patch from bpo-26228 https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#top
Show all changes 26 commits https://github.com/python/cpython/pull/2932/files
703c1d1 migrating issue to github diekmann Apr 10, 2017 https://github.com/python/cpython/pull/2932/commits/703c1d13eeacb4c6d52fe96d27cb7569aef26079
78c165a using subprocess.run to run pty.spawn diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/78c165aad018efb62f1a41dad6d0792923968a79
28e918e move _mock_stdin_stdout to the actual tests diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/28e918e1323954b04cbdd29dd6b837eb9b5d5a4d
6e7f587 Get os.forkpty disabled again. diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/6e7f587c31d4ca9290f13bdf4eb075f16e00dcc8
fd61cad Yes, way less monkey patching. diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/fd61cad9000f9c6e903b78525a9d164e9b3b4066
e9b0b8b Decoupling PtySpawnTestBase and PtyMockingTestBase diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/e9b0b8b48972fe6e81eba8bb009a0eb831e57e48
a42755b Move PtyMockingTestBase closer to PtyCopyTests diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/a42755bbbc3a5eac56fce108ac379165885285ca
7451f97 Tuned class hierarchy diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/7451f9798582685a2c7e0520c538c3c10c96eb3f
b604d83 fix line length and error path of base classes diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/b604d83b51f79cc36aaec7d9dd8a9fee8d15b7e1
cbe7d14 clarify difference to alternatives diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/cbe7d14ad72b8c4c83c05ccd06cc1d1c66745f0d
8afd1e7 move disable-os.forkpty-code closer to the test diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
2c3498f cosmetic changes diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/2c3498febcb65023f213d753fb86068ae407cab6
ec58a62 polish diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/ec58a624f8f08005a5b1e94678efe31a30e71556
0be6c54 let exceptions out and fail the tests diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/0be6c54f725a2559d1c5fdafdda054cdc6e5959c
250ae50 Pull related code for select mocking tests together diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/250ae50704f959f000644eefbce9fa3110111f45
7ced6d8 Tune PtyCopyTests diekmann Apr 14, 2017 https://github.com/python/cpython/pull/2932/commits/7ced6d8d9d4449b6ed72e573bff331d5e84b8720
528fc5d unify code comments in PtySpawnTestBase diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/528fc5dcc1478927cb1fda28adf649b129f60cb8
aeb6585 cosmetic changes diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/aeb65859f418a32f174174666046ae4fa8865be2
57876df Cleanup of terminal setup code diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/57876df00be7c1efaf1c336be428fa2f09c9e8a3
2309d69 removed test_eof_echoctl diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/2309d69ba0bd1f50701076aaead221953789d587
f93de8d fixed echoing race diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/f93de8d5f32c78f0ad38eec6716618beffbf1957
9cd9425 cleaned OS X workaround comments diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/9cd94257c6d44581cf14d959f06461bef3a4b836
a7e4753 Removed doc string from test methods. diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/a7e47537f3402077a1c0d402e7d93afce5eb1937
5944764 Fixed comment diekmann Apr 15, 2017 https://github.com/python/cpython/pull/2932/commits/59447641289db65dc817dce307ec38779e837916
851c261 [CONTRIBUTING.rst] Added myself to Misc/ACKS diekmann Jul 28, 2017 https://github.com/python/cpython/pull/2932/commits/851c2612db4741c101e9f1305d5f5ea106d59a08
5dbc249 added Chris Torek to ACKS diekmann Jul 28, 2017 https://github.com/python/cpython/pull/2932/commits/5dbc2495690a98635fbb373ee345733de52a5aa4
Clear filters https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
Prev https://github.com/python/cpython/pull/2932/commits/cbe7d14ad72b8c4c83c05ccd06cc1d1c66745f0d
Next https://github.com/python/cpython/pull/2932/commits/2c3498febcb65023f213d753fb86068ae407cab6
Please reload this pagehttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195
https://github.com/diekmann
diekmannhttps://github.com/python/cpython/commits?author=diekmann
Lib/test/test_pty.pyhttps://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
View file https://github.com/diekmann/cpython/blob/8afd1e73c357b3be02c4ca989d37c218bd0d0195/Lib/test/test_pty.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/2932/commits/{{ revealButtonHref }}
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
https://github.com/python/cpython/pull/2932/commits/8afd1e73c357b3be02c4ca989d37c218bd0d0195#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
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.