Some tests depend on execution order and inherited color environment variables
Describe the bug
Hej, I found some Sphinx tests that are flaky because they depend on shared test directories or environment variables inherited from the test runner.
test_missing_reference_conditional_pending_xref shares its source and build directory with Python domain tests. Depending on test order, it can leave generated output that causes test_python_python_use_unqualified_type_names to reuse stale build data.
The status iterator tests force color with FORCE_COLOR=1, but do not clear NO_COLOR or NO_COLOUR. If either variable is set in the environment, NO_COLOR takes precedence and the tests can receive newline-based output
instead of the expected carriage-return output.
How to Reproduce
For the test-order issue, run:
uv run pytest -q --tb=short \
tests/test_transforms/test_transforms_post_transforms.py::test_missing_reference_conditional_pending_xref \
tests/test_domains/test_domain_py.py::test_python_python_use_unqualified_type_namesThe second test can fail because the existing HTML output is considered up-to-date and is not regenerated. For the environment-variable issue, run:
NO_COLOR=1 uv run pytest -q --tb=short \
tests/test_util/test_util_display.py::test_status_iterator_verbosity_0The test expects output containing \r, but receives output containing \n instead.
NO_COLOUR=1 has the same effect.
Environment Information
Platform: linux; (Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.39)
Python version: 3.14.7 (main, Aug 14 2026, 15:35:28) [Clang 22.1.3 ])
Python implementation: CPython
Sphinx version: 9.1.1+/f4bca342e
Docutils version: 0.22.3
Jinja2 version: 3.1.6
Pygments version: 2.19.2Sphinx extensions
[]Additional context
The affected tests are:
tests/test_transforms/test_transforms_post_transforms.py::test_missing_reference_conditional_pending_xreftests/test_domains/test_domain_py.py::test_python_python_use_unqualified_type_namestests/test_util/test_util_display.py::test_status_iterator_verbosity_0tests/test_util/test_util_display.py::test_status_iterator_verbosity_1
Source: sphinx-doc/sphinx