2023-07-28 00:39:12 +01:00
|
|
|
from pathlib import Path
|
2017-01-07 00:46:26 +09:00
|
|
|
|
2018-08-26 11:28:06 +09:00
|
|
|
import docutils
|
2017-05-07 16:46:44 +09:00
|
|
|
import pytest
|
2018-02-19 22:39:14 +09:00
|
|
|
|
2018-08-26 11:28:06 +09:00
|
|
|
import sphinx
|
2023-01-31 23:10:48 +01:00
|
|
|
import sphinx.locale
|
2017-01-03 22:24:00 +09:00
|
|
|
|
2023-01-31 23:10:48 +01:00
|
|
|
|
|
|
|
|
def _init_console(locale_dir=sphinx.locale._LOCALE_DIR, catalog='sphinx'):
|
|
|
|
|
"""Monkeypatch ``init_console`` to skip its action.
|
|
|
|
|
|
|
|
|
|
Some tests rely on warning messages in English. We don't want
|
|
|
|
|
CLI tests to bleed over those tests and make their warnings
|
|
|
|
|
translated.
|
|
|
|
|
"""
|
|
|
|
|
return sphinx.locale.NullTranslations(), False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sphinx.locale.init_console = _init_console
|
|
|
|
|
|
2017-05-07 16:46:44 +09:00
|
|
|
pytest_plugins = 'sphinx.testing.fixtures'
|
2017-01-03 22:24:00 +09:00
|
|
|
|
2017-10-26 16:59:46 +01:00
|
|
|
# Exclude 'roots' dirs for pytest test collector
|
|
|
|
|
collect_ignore = ['roots']
|
|
|
|
|
|
2017-01-03 22:24:00 +09:00
|
|
|
|
2017-05-07 16:46:44 +09:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
|
def rootdir():
|
2023-07-28 00:39:12 +01:00
|
|
|
return Path(__file__).parent.absolute() / 'roots'
|
2017-12-22 18:50:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def pytest_report_header(config):
|
2023-07-28 00:39:12 +01:00
|
|
|
header = f"libraries: Sphinx-{sphinx.__display_version__}, docutils-{docutils.__version__}"
|
2019-02-01 19:01:51 +09:00
|
|
|
if hasattr(config, '_tmp_path_factory'):
|
2023-07-28 00:39:12 +01:00
|
|
|
header += f"\nbase tmp_path: {config._tmp_path_factory.getbasetemp()}"
|
2019-02-01 19:01:51 +09:00
|
|
|
return header
|