summaryrefslogtreecommitdiff
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index 28dbd6ed4..9fb06edab 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -3,18 +3,51 @@
pytest config for sphinx/tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
+ :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import os
+import shutil
+import sys
+import warnings
import pytest
from sphinx.testing.path import path
pytest_plugins = 'sphinx.testing.fixtures'
+# Exclude 'roots' dirs for pytest test collector
+collect_ignore = ['roots']
+
+# Disable Python version-specific
+if sys.version_info < (3, 5):
+ collect_ignore += ['py35']
+
@pytest.fixture(scope='session')
def rootdir():
return path(os.path.dirname(__file__) or '.').abspath() / 'roots'
+
+
+def pytest_report_header(config):
+ return 'Running Sphinx test suite (with Python %s)...' % (
+ sys.version.split()[0])
+
+
+def _initialize_test_directory(session):
+ testroot = os.path.join(str(session.config.rootdir), 'tests')
+ tempdir = os.path.abspath(os.getenv('SPHINX_TEST_TEMPDIR',
+ os.path.join(testroot, 'build')))
+ os.environ['SPHINX_TEST_TEMPDIR'] = 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)