2017-05-07 02:46:44 -05:00
|
|
|
"""
|
|
|
|
pytest config for sphinx/tests
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2017-01-06 09:46:26 -06:00
|
|
|
|
2020-12-31 11:00:29 -06:00
|
|
|
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
2017-05-07 02:46:44 -05:00
|
|
|
:license: BSD, see LICENSE for details.
|
|
|
|
"""
|
2017-01-03 07:24:00 -06:00
|
|
|
|
2017-05-07 02:46:44 -05:00
|
|
|
import os
|
2019-02-06 10:28:45 -06:00
|
|
|
import shutil
|
2017-01-06 09:46:26 -06:00
|
|
|
|
2018-08-25 21:28:06 -05:00
|
|
|
import docutils
|
2017-05-07 02:46:44 -05:00
|
|
|
import pytest
|
2018-02-19 07:39:14 -06:00
|
|
|
|
2018-08-25 21:28:06 -05:00
|
|
|
import sphinx
|
2019-01-13 03:40:35 -06:00
|
|
|
from sphinx.testing import comparer
|
2020-11-11 05:00:27 -06:00
|
|
|
from sphinx.testing.path import path
|
2017-01-03 07:24:00 -06:00
|
|
|
|
2017-05-07 02:46:44 -05:00
|
|
|
pytest_plugins = 'sphinx.testing.fixtures'
|
2017-01-03 07:24:00 -06:00
|
|
|
|
2017-10-26 10:59:46 -05:00
|
|
|
# Exclude 'roots' dirs for pytest test collector
|
|
|
|
collect_ignore = ['roots']
|
|
|
|
|
2017-01-03 07:24:00 -06:00
|
|
|
|
2017-05-07 02:46:44 -05:00
|
|
|
@pytest.fixture(scope='session')
|
|
|
|
def rootdir():
|
2019-01-07 07:05:46 -06:00
|
|
|
return path(__file__).parent.abspath() / 'roots'
|
2017-12-22 12:50:49 -06:00
|
|
|
|
|
|
|
|
|
|
|
def pytest_report_header(config):
|
2019-02-01 04:01:51 -06:00
|
|
|
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
|
2017-12-24 14:28:46 -06:00
|
|
|
|
|
|
|
|
2019-01-13 03:40:35 -06:00
|
|
|
def pytest_assertrepr_compare(op, left, right):
|
|
|
|
comparer.pytest_assertrepr_compare(op, left, right)
|
2019-02-06 10:28:45 -06:00
|
|
|
|
|
|
|
|
|
|
|
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)
|