sphinx-doc/sphinx

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

Open

#12,191 opened on 2024年3月23日

GitHub で見る
 (3 comments) (3 reactions) (0 assignees)Python (5,625 stars) (1,985 forks)batch import
help wantedpythontype:tasktype:tests

説明

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

コントリビューターガイド