[lint] whitelist all test files except configuration and utils in tests (#12109)

This commit is contained in:
Bénédikt Tran
2024-03-16 18:06:58 +01:00
committed by GitHub
parent 6aaeee206b
commit 2df5b0a8ab
4 changed files with 201 additions and 25 deletions

View File

@@ -1,6 +1,9 @@
from __future__ import annotations
import os
import sys
from pathlib import Path
from typing import TYPE_CHECKING
import docutils
import pytest
@@ -10,8 +13,13 @@ import sphinx.locale
import sphinx.pycode
from sphinx.testing.util import _clean_up_global_state
if TYPE_CHECKING:
from collections.abc import Generator
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
@@ -23,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']
@@ -32,11 +40,11 @@ os.environ['SPHINX_AUTODOC_RELOAD_MODULES'] = '1'
@pytest.fixture(scope='session')
def rootdir():
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()}"
@@ -44,7 +52,7 @@ def pytest_report_header(config):
@pytest.fixture(autouse=True)
def _cleanup_docutils():
def _cleanup_docutils() -> Generator[None, None, None]:
saved_path = sys.path
yield # run the test
sys.path[:] = saved_path