summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2017-01-05 23:36:36 +0900
committershimizukawa <shimizukawa@gmail.com>2017-01-05 23:36:36 +0900
commitad6d731ecf780457bd3d6d2cf59832c083d63bfc (patch)
treea9fb6fa51eea439c83eddd1cc96c8cf506e22440
parent5b7d237db380a75c27137fb37f0396f4a3dc3ecd (diff)
downloadsphinx-git-ad6d731ecf780457bd3d6d2cf59832c083d63bfc.tar.gz
pytest: remove unused testing feature for a while.
-rw-r--r--tests/conftest.py127
1 files changed, 2 insertions, 125 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index 9a021169e..1c5be83f6 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -3,7 +3,7 @@ import sys
import subprocess
import pytest
-from six import StringIO, string_types
+from six import StringIO
from util import SphinxTestApp, path
@@ -29,75 +29,15 @@ def app_params(request):
return args, kwargs
-@pytest.fixture
-def test_params(request):
- """
- test parameters that is specified by 'pytest.mark.testenv'
-
- :param bool build:
- If True, 'app' fixture will be build before test function is called.
- Default is False.
- :param Union[str, bool, None] specific_srcdir:
- If True, testroot directory will be copied into
- '<TMPDIR>/<TEST FUNCTION NAME>'.
- If string is specified, it copied into '<TMPDIR>/<THE STRING>'.
- You can used this feature for providing special crafted source
- directory. Also you can used for sharing source directory for
- parametrized testing and/or inter test functions. Default is None.
- :param Union[str, bool, None] shared_result:
- If True, app._status and app._warning objects will be shared in the
- parametrized test functions. If string is specified, the objects will
- be shred in the test functions that have same 'shared_result' value.
- If you don't specify specific_srcdir, this option override
- specific_srcdir param by 'shared_result' value. Default is None.
- """
- env = request.node.get_marker('testenv')
- kwargs = env.kwargs if env else {}
- result = {
- 'build': False, # pre build in fixture
- 'specific_srcdir': None,
- 'shared_result': None,
- }
- result.update(kwargs)
-
- if (result['shared_result'] and
- not isinstance(result['shared_result'], string_types)):
- r = result['shared_result'] = request.node.originalname or request.node.name
-
- if result['shared_result'] and not result['specific_srcdir']:
- result['specific_srcdir'] = result['shared_result']
-
- if (result['specific_srcdir'] and
- not isinstance(result['specific_srcdir'], string_types)):
- result['specific_srcdir'] = request.node.originalname or request.node.name
-
- return result
-
-
@pytest.fixture(scope='function')
-def app(test_params, app_params, make_app, shared_result):
+def app(app_params, make_app):
"""
provides sphinx.application.Sphinx object
"""
args, kwargs = app_params
- if test_params['specific_srcdir'] and 'srcdir' not in kwargs:
- kwargs['srcdir'] = test_params['specific_srcdir']
-
- if test_params['shared_result']:
- restore = shared_result.restore(test_params['shared_result'])
- kwargs.update(restore)
-
app_ = make_app(*args, **kwargs)
-
- if test_params['build']:
- # if listdir is not empty, we can use built cache
- if not app_.outdir.listdir():
- app_.build()
yield app_
- if test_params['shared_result']:
- shared_result.store(test_params['shared_result'], app_)
-
@pytest.fixture(scope='function')
def status(app):
@@ -139,38 +79,6 @@ def make_app():
app_.cleanup()
-class SharedResult(object):
- cache = {}
-
- def store(self, key, app_):
- if key in self.cache:
- return
- data = {
- 'status': app_._status.getvalue(),
- 'warning': app_._warning.getvalue(),
- }
- self.cache[key] = data
-
- def restore(self, key):
- if key not in self.cache:
- return {}
- data = self.cache[key]
- return {
- 'status': StringIO(data['status']),
- 'warning': StringIO(data['warning']),
- }
-
-
-@pytest.fixture
-def shared_result():
- return SharedResult()
-
-
-@pytest.fixture(scope='module', autouse=True)
-def _shared_result_cache():
- SharedResult.cache.clear()
-
-
@pytest.fixture
def if_graphviz_found(app):
"""
@@ -198,34 +106,3 @@ def tempdir(tmpdir):
this fixture is for compat with old test implementation.
"""
return path(tmpdir)
-
-
-def pytest_addoption(parser):
- """
- the test that have pytest.mark.env('foobar') will be skipped when
- '-S foobar' command-line option is provided.
- """
- parser.addoption("-S", action="store", metavar="NAME",
- help="skip tests matching the environment NAME.")
-
-
-def pytest_configure(config):
- """
- the test that have pytest.mark.env('foobar') will be skipped when
- '-S foobar' command-line option is provided.
- """
- # register an additional marker
- config.addinivalue_line("markers",
- "env(name): mark test to run only on named environment")
-
-
-def pytest_runtest_setup(item):
- """
- the test that have pytest.mark.env('foobar') will be skipped when
- '-S foobar' command-line option is provided.
- """
- envmarker = item.get_marker("env")
- if envmarker is not None:
- envname = envmarker.args[0]
- if envname == item.config.getoption("-S"):
- pytest.skip("skip test %r" % envname)