Merge branch 'master' into pytest

This commit is contained in:
Dave Halter
2019-05-20 00:21:57 +02:00
committed by GitHub
178 changed files with 7689 additions and 4031 deletions

View File

@@ -6,7 +6,7 @@ from functools import partial
import pytest
import jedi
from jedi.api.environment import get_default_environment, get_system_environment
from jedi.api.environment import get_system_environment, InterpreterEnvironment
from jedi._compatibility import py_version
collect_ignore = [
@@ -41,6 +41,9 @@ def pytest_addoption(parser):
parser.addoption("--env", action='store',
help="Execute the tests in that environment (e.g. 35 for python3.5).")
parser.addoption("--interpreter-env", "-I", action='store_true',
help="Don't use subprocesses to guarantee having safe "
"code execution. Useful for debugging.")
def pytest_configure(config):
@@ -87,13 +90,13 @@ def clean_jedi_cache(request):
@pytest.fixture(scope='session')
def environment(request):
if request.config.option.interpreter_env:
return InterpreterEnvironment()
version = request.config.option.env
if version is None:
version = os.environ.get('JEDI_TEST_ENVIRONMENT', str(py_version))
if int(version) == py_version:
return get_default_environment()
return get_system_environment(version[0] + '.' + version[1:])
@@ -116,3 +119,11 @@ def has_typing(environment):
@pytest.fixture(scope='session')
def jedi_path():
return os.path.dirname(__file__)
@pytest.fixture()
def skip_python2(environment):
if environment.version_info.major == 2:
# This if is just needed to avoid that tests ever skip way more than
# they should for all Python versions.
pytest.skip()