diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
commit | 5bb0bb4be543fd5eca41673696a62ed80d493591 (patch) | |
tree | ad2c464f140e86c7f178a6276d7ea4a93e3e6c92 /tests/conftest.py | |
parent | Adding upstream version 7.2.6. (diff) | |
download | sphinx-upstream/7.3.7.tar.xz sphinx-upstream/7.3.7.zip |
Adding upstream version 7.3.7.upstream/7.3.7
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index 1b909bd..1c8d525 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,25 @@ +from __future__ import annotations + import os +import sys from pathlib import Path +from typing import TYPE_CHECKING import docutils import pytest import sphinx import sphinx.locale +import sphinx.pycode +from sphinx.testing.util import _clean_up_global_state + +if TYPE_CHECKING: + from collections.abc import Iterator -def _init_console(locale_dir=sphinx.locale._LOCALE_DIR, catalog='sphinx'): +def _init_console( + locale_dir: str | None = sphinx.locale._LOCALE_DIR, catalog: str = 'sphinx', +) -> tuple[sphinx.locale.NullTranslations, bool]: """Monkeypatch ``init_console`` to skip its action. Some tests rely on warning messages in English. We don't want @@ -20,7 +31,7 @@ def _init_console(locale_dir=sphinx.locale._LOCALE_DIR, catalog='sphinx'): sphinx.locale.init_console = _init_console -pytest_plugins = 'sphinx.testing.fixtures' +pytest_plugins = ['sphinx.testing.fixtures'] # Exclude 'roots' dirs for pytest test collector collect_ignore = ['roots'] @@ -29,12 +40,21 @@ os.environ['SPHINX_AUTODOC_RELOAD_MODULES'] = '1' @pytest.fixture(scope='session') -def rootdir(): - return Path(__file__).parent.absolute() / 'roots' +def rootdir() -> Path: + return Path(__file__).parent.resolve() / 'roots' -def pytest_report_header(config): +def pytest_report_header(config: pytest.Config) -> str: header = f"libraries: Sphinx-{sphinx.__display_version__}, docutils-{docutils.__version__}" if hasattr(config, '_tmp_path_factory'): header += f"\nbase tmp_path: {config._tmp_path_factory.getbasetemp()}" return header + + +@pytest.fixture(autouse=True) +def _cleanup_docutils() -> Iterator[None]: + saved_path = sys.path + yield # run the test + sys.path[:] = saved_path + + _clean_up_global_state() |