sphinx/tests/conftest.py

56 lines
1.3 KiB
Python
Raw Normal View History

"""
pytest config for sphinx/tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-01 03:45:03 -06:00
:copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
2017-01-03 07:24:00 -06:00
import os
import shutil
2018-08-25 21:28:06 -05:00
import docutils
import pytest
2018-02-19 07:39:14 -06:00
2018-08-25 21:28:06 -05:00
import sphinx
from sphinx.testing import comparer
from sphinx.testing.path import path
2017-01-03 07:24:00 -06:00
pytest_plugins = 'sphinx.testing.fixtures'
2017-01-03 07:24:00 -06:00
# Exclude 'roots' dirs for pytest test collector
collect_ignore = ['roots']
2017-01-03 07:24:00 -06:00
@pytest.fixture(scope='session')
def rootdir():
2019-01-07 07:05:46 -06:00
return path(__file__).parent.abspath() / 'roots'
def pytest_report_header(config):
header = ("libraries: Sphinx-%s, docutils-%s" %
(sphinx.__display_version__, docutils.__version__))
if hasattr(config, '_tmp_path_factory'):
header += "\nbase tempdir: %s" % config._tmp_path_factory.getbasetemp()
return header
def pytest_assertrepr_compare(op, left, right):
comparer.pytest_assertrepr_compare(op, left, right)
def _initialize_test_directory(session):
if 'SPHINX_TEST_TEMPDIR' in os.environ:
tempdir = os.path.abspath(os.getenv('SPHINX_TEST_TEMPDIR'))
print('Temporary files will be placed in %s.' % tempdir)
if os.path.exists(tempdir):
shutil.rmtree(tempdir)
os.makedirs(tempdir)
def pytest_sessionstart(session):
_initialize_test_directory(session)