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/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:edf8ddcc-60ee-1566-8f03-46e7d7f10c52
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD4EE:1730DB:43CDEB2:60A029B:6A4FFAE3
html-safe-noncef474f659ad898872f6273bb4f3df14cb8e285c5bbb99a05e8a1d41949d8026fd
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENEVFOjE3MzBEQjo0M0NERUIyOjYwQTAyOUI6NkE0RkZBRTMiLCJ2aXNpdG9yX2lkIjoiMTc0NzM0NzY3NjI2OTEwNDM1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac3d1836bb5d921e6d292267bb5ee5815fc0d21ab7fc0b7e4e6da2b915229c531d
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/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/2932/files
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
None3bd0ff5d28a87b4801a63fb38c2a21a91b0a700dca159dc9416aeae05771b899
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
release67a336083e4dcb40224dc2c01cd4c7ed413bdb09
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/2932/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F2932%2Ffiles
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
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%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/2932/files
Reloadhttps://github.com/python/cpython/pull/2932/files
Reloadhttps://github.com/python/cpython/pull/2932/files
Please reload this pagehttps://github.com/python/cpython/pull/2932/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/2932/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 34.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.6k 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.3k 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/files
bpo-29070: Integration tests for pty module with patch from bpo-26228 https://github.com/python/cpython/pull/2932/files#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/files
Please reload this pagehttps://github.com/python/cpython/pull/2932/files
Please reload this pagehttps://github.com/python/cpython/pull/2932/files
pty.rst https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
pty.py https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
test_pty.py https://github.com/python/cpython/pull/2932/files#diff-818ac3490d7146a2dcd2d9add58f5e8f12cc3c1fe752d4e5eb7986852f6bb80d
ACKS https://github.com/python/cpython/pull/2932/files#diff-d1243956feb505c5459fc05387e194609efb5c350cee202942be47ed30d7d7d0
Doc/library/pty.rsthttps://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
View file https://github.com/diekmann/cpython/blob/5dbc2495690a98635fbb373ee345733de52a5aa4/Doc/library/pty.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/2932/{{ revealButtonHref }}
https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
https://github.com/python/cpython/pull/2932/files#diff-d827b28854eb16794889d6a7d19c79c1c3cccc6ddce18e996d46c9864d93bd73
Lib/pty.pyhttps://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
View file https://github.com/diekmann/cpython/blob/5dbc2495690a98635fbb373ee345733de52a5aa4/Lib/pty.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/2932/{{ revealButtonHref }}
https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
https://github.com/python/cpython/pull/2932/files#diff-6951c8bf11da0d5912302a24b778e2c968fae9212bfeb2e73de06ec257b2d1da
Please reload this pagehttps://github.com/python/cpython/pull/2932/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.