Devguide recommends a very slow testing configuration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 12
Description
Describe the enhancement or feature you would like
At the PyCon AU sprints, I found that running the test suite in parallel with make test under --with-pydebug on my machine took ~3.5 minutes, while running with the default configuration took ~1 minute.
Running the test suite sequentially with python -m test took ~18 minutes on a default build, while --with-pydebug took ~27 minutes.
One of the sprint attendees (with a much slower system in general) had their sequential test run take ~45 minutes under --with-pydebug, dropping to around ~25 minutes when using the default build configuration, and then down to ~5 minutes by running with make test rather than python -m test.
https://github.com/python/devguide/issues/1171 covered updating https://devguide.python.org/getting-started/quick-reference/#quick-reference to recommend parallel test execution, but https://devguide.python.org/testing/run-write-tests/#running buries the parallel execution command well down the page.
There are multiple intersecting issues here:
- between the intro, the table of section references, and the video embed, the "Quick reference" link has dropped "below the fold" on the landing page (at least on my laptop screen)
- some of the instructions were originally written for C-focused development and then never revisited for pure Python contributors
- we're inconsistent in our recommendations for how to run the test suite (and we don't emphasise how slow it is to run them sequentially, so you almost never want to actually do that if you can avoid it)
One change I think would be worth making is to recommend an unqualified make as the default build configuration (especially when working pure Python changes without touching any of the C code), and mention make --with-pydebug as an option that is slower in execution, but provides a much better debugging experience when working on C level changes (with reference to https://docs.python.org/3/using/configure.html#python-debug-build)
Another would be to move the quick reference section heading and linking paragraph up above the section link table.
Describe alternatives you have considered
No response
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the running tests section at devguide.python.org/testing/run-write-tests/#running and compare it with the Getting Started quick reference and its landing-page placement. Review the linked configure documentation for debug builds. Done means the guide consistently recommends parallel testing and the default build, explains when --with-pydebug is useful, and surfaces the quick reference above the section links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100