diff options
Diffstat (limited to '')
-rw-r--r-- | tests/conftest.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..ebbc9e2 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,47 @@ +import os +import shutil + +import docutils +import pytest + +import sphinx +from sphinx.testing import comparer +from sphinx.testing.path import path + +pytest_plugins = 'sphinx.testing.fixtures' + +# Exclude 'roots' dirs for pytest test collector +collect_ignore = ['roots'] + + +@pytest.fixture(scope='session') +def rootdir(): + 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) |