python / python/devguide

Devguide recommends a very slow testing configuration

Open
#1,895 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type-feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.