Title: libregrtest: add option to run every test case in separate process · Issue #109817 · python/cpython · GitHub
Open Graph Title: libregrtest: add option to run every test case in separate process · Issue #109817 · python/cpython
X Title: libregrtest: add option to run every test case in separate process · Issue #109817 · python/cpython
Description: Feature or enhancement Proposal: libregrtest can run every test module in a separate process, and can even run several test modules in parallel. It has options to simply output all test modules or all test cases. I propose to add an opti...
Open Graph Description: Feature or enhancement Proposal: libregrtest can run every test module in a separate process, and can even run several test modules in parallel. It has options to simply output all test modules or ...
X Description: Feature or enhancement Proposal: libregrtest can run every test module in a separate process, and can even run several test modules in parallel. It has options to simply output all test modules or ...
Opengraph URL: https://github.com/python/cpython/issues/109817
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"libregrtest: add option to run every test case in separate process","articleBody":"# Feature or enhancement\n\n### Proposal:\n\nlibregrtest can run every test module in a separate process, and can even run several test modules in parallel. It has options to simply output all test modules or all test cases.\n\nI propose to add an option to run every test case in a separate process. Test cases from the same module should still run sequentially, because they can use the same resource (for example create a server at fixed port).\n\nThis will slow down the tests several times, but it is not for regular running in the CI, it is for manual running once every months or for manual running selected test module while writing new tests or debugging test flakiness. It can help to solve the following issues:\n\n1. Order dependency. Some tests are only passed because they run in specific order, and the order of tests in a module is the same, only the order of test modules is randomized. If run the test in a separate process, it is always the first, and cannot depend on others.\n2. Environment changes and leaks. Some tests change the environment (e.g. leak temporary files or do not wait for terminating a thread or a subprocess), and it is not noticed because subsequent tests have cleaned after it. If run the test in a separate process, it is always the last, and nobody cleans after it.\n\ncc @vstinner @gpshead\n\n### Has this already been discussed elsewhere?\n\nNo response given\n\n### Links to previous discussion of this feature:\n\n_No response_","author":{"url":"https://github.com/serhiy-storchaka","@type":"Person","name":"serhiy-storchaka"},"datePublished":"2023-09-25T06:55:49.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/109817/cpython/issues/109817"}
| 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:5ad69517-eb9c-f0ab-e922-207fb75ef103 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E148:16B656:83C010:AE4681:696B4DDF |
| html-safe-nonce | e9b2da168e419751c168adac2ed41c08231d2ba61bfc164b414c3a988d3c01c6 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMTQ4OjE2QjY1Njo4M0MwMTA6QUU0NjgxOjY5NkI0RERGIiwidmlzaXRvcl9pZCI6IjczMTM0NTg5MTg4NDkyMDM2NzkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 9697e082953654e5de0865f7d94f0dfb07c9f8293434bf7b6e87a7ec0efde5cf |
| hovercard-subject-tag | issue:1910804896 |
| 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/109817/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6f17284a2e0cf7147400d2d9f4b3679ab6ba898af7ec12f743daba692ea5cd85/python/cpython/issues/109817 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6f17284a2e0cf7147400d2d9f4b3679ab6ba898af7ec12f743daba692ea5cd85/python/cpython/issues/109817 |
| og:image:alt | Feature or enhancement Proposal: libregrtest can run every test module in a separate process, and can even run several test modules in parallel. It has options to simply output all test modules or ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | serhiy-storchaka |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| 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 | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width