sphinx-doc/sphinx

[tracker] [tests] Python test suite reliability: striving for non-flaky, parallelizable, random-orderable tests.

Open

#12.191 aberto em 23 de mar. de 2024

Ver no GitHub
 (3 comments) (3 reactions) (0 assignees)Python (1.985 forks)batch import
help wantedpythontype:tasktype:tests

Métricas do repositório

Stars
 (5.625 stars)
Métricas de merge de PR
 (Mesclagem média 13d 10h) (8 fundiu PRs em 30d)

Description

This is an umbrella issue to track progress making the Sphinx test suite reliable. That means:

  • No flaky tests.
  • Tests can run in parallel.
  • Tests are independent of each other.

Regarding the last item: test independence is important to ensure that each test is checking the behaviours it claims to, and does not inadvertently rely on the side-effects of some other test. Similarly, a test must not begin failing if any other test is run before it -- if it does, that could mean (but does not definitely mean) that the application's behaviour itself may vary based on the order in which code is evaluated.

It might seem like there are a large number of items here! However, please bear in mind that we have a total of more than 2000 individual pytest test cases that run.

Test flakiness

Test parallelization

Test independence

Guia do colaborador