1
0
forked from VimPlug/jedi

Move clean_jedi_cache fixture to top-level conftest.py

Otherwise doctest module running in jedi/ subdirectory will not find it.
This commit is contained in:
immerrr
2015-10-21 10:07:01 +03:00
parent c88f251206
commit a6512f7702
2 changed files with 24 additions and 25 deletions

View File

@@ -1,8 +1,9 @@
import tempfile
import shutil
import jedi
import pytest
import jedi
collect_ignore = ["setup.py"]
@@ -47,3 +48,25 @@ def pytest_unconfigure(config):
global jedi_cache_directory_orig, jedi_cache_directory_temp
jedi.settings.cache_directory = jedi_cache_directory_orig
shutil.rmtree(jedi_cache_directory_temp)
@pytest.fixture(scope='session')
def clean_jedi_cache(request):
"""
Set `jedi.settings.cache_directory` to a temporary directory during test.
Note that you can't use built-in `tmpdir` and `monkeypatch`
fixture here because their scope is 'function', which is not used
in 'session' scope fixture.
This fixture is activated in ../pytest.ini.
"""
from jedi import settings
old = settings.cache_directory
tmp = tempfile.mkdtemp(prefix='jedi-test-')
settings.cache_directory = tmp
@request.addfinalizer
def restore():
settings.cache_directory = old
shutil.rmtree(tmp)