summaryrefslogtreecommitdiffstats
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/conftest.py47
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)