summaryrefslogtreecommitdiffstats
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000..1b909bd
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,40 @@
+import os
+from pathlib import Path
+
+import docutils
+import pytest
+
+import sphinx
+import sphinx.locale
+
+
+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
+
+pytest_plugins = 'sphinx.testing.fixtures'
+
+# Exclude 'roots' dirs for pytest test collector
+collect_ignore = ['roots']
+
+os.environ['SPHINX_AUTODOC_RELOAD_MODULES'] = '1'
+
+
+@pytest.fixture(scope='session')
+def rootdir():
+ return Path(__file__).parent.absolute() / 'roots'
+
+
+def pytest_report_header(config):
+ 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