Repository navigation
Split long running test suites up into smaller sub suites to reduce our regrtest long tail on multi-core systems. #108388
Copy link
Copy link
Closed
Labels
3.12only security fixesonly security fixesbuildThe build process and cross-buildThe build process and cross-buildtestsTests in the Lib/test dirTests in the Lib/test dir
Description
Activity
- addedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
on Aug 23, 2023 - added 11 commits that reference this issue
on Aug 23, 2023 12 remaining items
- added3.12only security fixesonly security fixesbuildThe build process and cross-buildThe build process and cross-buildand removedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
on Aug 24, 2023 I experience new failures of
test_concurrent_futureson Windows on my unrelated PR: https://github.com/python/cpython/actions/runs/5972558288/job/16203298171?pr=108456Failing tests:
test.test_concurrent_futures.test_deadlock test.test_concurrent_futures.test_shutdownI experience new failures of test_concurrent_futures on Windows on my unrelated PR
Sadly, the issue is known for at least one month: see issue #107219.
Logs:
File "D:\a\cpython\cpython\Lib\test\test_concurrent_futures\test_deadlock.py", line 236 in test_crash_big_dataIt's this test which hangs sometimes on Windows.
Reacted by sobolevnThis feature has been implemented in the main branch, and backported to the 3.12 branch. I don't think that it's worth it to backport it to the 3.11 branch.
I splitted these test packages:
- test_concurrent_futures
- test_multiprocessing_fork
- test_multiprocessing_forkserver
- test.test_multiprocessing_spawn
Example:
$ ./python -m test test_concurrent_futures --list-tests test_concurrent_futures.test_as_completed test_concurrent_futures.test_deadlock test_concurrent_futures.test_future test_concurrent_futures.test_init test_concurrent_futures.test_process_pool test_concurrent_futures.test_shutdown test_concurrent_futures.test_thread_pool test_concurrent_futures.test_waitI close my issue.
Reacted by Erlend E. Aasland
Metadata
Metadata
Assignees
Labels
3.12only security fixesonly security fixesbuildThe build process and cross-buildThe build process and cross-buildtestsTests in the Lib/test dirTests in the Lib/test dir
The slowest tests of the Python test suite are:
They each tend take multiple minutes to run. The bulk of our others take <10 seconds. They occupy a lot of wall time as a long tail in a normal make test or regrtest run on a typical parallel run multi-core systems.
This bug originally proposed to skip them unless the "cpu" resource is enabled (it's disabled by default). That was deemed appropriate for
test_peg_generatorandtest_tools.test_freezewhich are either not platform specific or rarely needed in CI. (PR #108386) - This PR reduced the total test duration between 3 and 5 minutes.Linked PRs