mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 22:14:27 +08:00
Add JEDI_TEST_ENVIRONMENT_EXECUTABLE for AppVeyor
This commit is contained in:
21
.travis.yml
21
.travis.yml
@@ -8,11 +8,11 @@ python:
|
|||||||
- 3.6
|
- 3.6
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/2.7/bin/python
|
- JEDI_TEST_ENVIRONMENT=27
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.3/bin/python
|
- JEDI_TEST_ENVIRONMENT=33
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.4/bin/python
|
- JEDI_TEST_ENVIRONMENT=34
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.5/bin/python
|
- JEDI_TEST_ENVIRONMENT=35
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
|
- JEDI_TEST_ENVIRONMENT=36
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
@@ -20,13 +20,13 @@ matrix:
|
|||||||
- env: TOXENV=sith
|
- env: TOXENV=sith
|
||||||
- env:
|
- env:
|
||||||
- TOXENV=cov
|
- TOXENV=cov
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
|
- JEDI_TEST_ENVIRONMENT=36
|
||||||
- python: 3.7-dev
|
- python: 3.7-dev
|
||||||
include:
|
include:
|
||||||
- python: 3.6
|
- python: 3.6
|
||||||
env:
|
env:
|
||||||
- TOXENV=cov
|
- TOXENV=cov
|
||||||
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
|
- JEDI_TEST_ENVIRONMENT=36
|
||||||
- python: 3.6
|
- python: 3.6
|
||||||
env: TOXENV=sith
|
env: TOXENV=sith
|
||||||
# For now ignore pypy, there are so many issues that we don't really need
|
# For now ignore pypy, there are so many issues that we don't really need
|
||||||
@@ -35,6 +35,13 @@ matrix:
|
|||||||
- python: "3.7-dev"
|
- python: "3.7-dev"
|
||||||
before_install:
|
before_install:
|
||||||
- ./travis_install.sh
|
- ./travis_install.sh
|
||||||
|
# Need to add the path to the Python versions in the end. This might add
|
||||||
|
# something twice, but it doesn't really matter, because they are appended.
|
||||||
|
- export PATH=$PATH:/opt/python/3.3/bin
|
||||||
|
- export PATH=$PATH:/opt/python/3.5/bin
|
||||||
|
# 3.6 was not installed manually, but already is on the system. However
|
||||||
|
# it's not on path (unless 3.6 is selected).
|
||||||
|
- export PATH=$PATH:/opt/python/3.6/bin
|
||||||
install:
|
install:
|
||||||
- pip install --quiet tox-travis
|
- pip install --quiet tox-travis
|
||||||
script:
|
script:
|
||||||
|
|||||||
50
appveyor.yml
50
appveyor.yml
@@ -2,83 +2,83 @@ environment:
|
|||||||
matrix:
|
matrix:
|
||||||
- TOXENV: py27
|
- TOXENV: py27
|
||||||
PYTHON_PATH: C:\Python27
|
PYTHON_PATH: C:\Python27
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python27\python.exe
|
||||||
- TOXENV: py27
|
- TOXENV: py27
|
||||||
PYTHON_PATH: C:\Python27
|
PYTHON_PATH: C:\Python27
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python33\python.exe
|
||||||
- TOXENV: py27
|
- TOXENV: py27
|
||||||
PYTHON_PATH: C:\Python27
|
PYTHON_PATH: C:\Python27
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python34\python.exe
|
||||||
- TOXENV: py27
|
- TOXENV: py27
|
||||||
PYTHON_PATH: C:\Python27
|
PYTHON_PATH: C:\Python27
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python35\python.exe
|
||||||
- TOXENV: py27
|
- TOXENV: py27
|
||||||
PYTHON_PATH: C:\Python27
|
PYTHON_PATH: C:\Python27
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python36\python.exe
|
||||||
|
|
||||||
- TOXENV: py33
|
- TOXENV: py33
|
||||||
PYTHON_PATH: C:\Python33
|
PYTHON_PATH: C:\Python33
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python27\python.exe
|
||||||
- TOXENV: py33
|
- TOXENV: py33
|
||||||
PYTHON_PATH: C:\Python33
|
PYTHON_PATH: C:\Python33
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python33\python.exe
|
||||||
- TOXENV: py33
|
- TOXENV: py33
|
||||||
PYTHON_PATH: C:\Python33
|
PYTHON_PATH: C:\Python33
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python34\python.exe
|
||||||
- TOXENV: py33
|
- TOXENV: py33
|
||||||
PYTHON_PATH: C:\Python33
|
PYTHON_PATH: C:\Python33
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python35\python.exe
|
||||||
- TOXENV: py33
|
- TOXENV: py33
|
||||||
PYTHON_PATH: C:\Python33
|
PYTHON_PATH: C:\Python33
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python36\python.exe
|
||||||
|
|
||||||
- TOXENV: py34
|
- TOXENV: py34
|
||||||
PYTHON_PATH: C:\Python34
|
PYTHON_PATH: C:\Python34
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python27\python.exe
|
||||||
- TOXENV: py34
|
- TOXENV: py34
|
||||||
PYTHON_PATH: C:\Python34
|
PYTHON_PATH: C:\Python34
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python33\python.exe
|
||||||
- TOXENV: py34
|
- TOXENV: py34
|
||||||
PYTHON_PATH: C:\Python34
|
PYTHON_PATH: C:\Python34
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python34\python.exe
|
||||||
- TOXENV: py34
|
- TOXENV: py34
|
||||||
PYTHON_PATH: C:\Python34
|
PYTHON_PATH: C:\Python34
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python35\python.exe
|
||||||
- TOXENV: py34
|
- TOXENV: py34
|
||||||
PYTHON_PATH: C:\Python34
|
PYTHON_PATH: C:\Python34
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python36\python.exe
|
||||||
|
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
PYTHON_PATH: C:\Python35
|
PYTHON_PATH: C:\Python35
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python27\python.exe
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
PYTHON_PATH: C:\Python35
|
PYTHON_PATH: C:\Python35
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python33\python.exe
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
PYTHON_PATH: C:\Python35
|
PYTHON_PATH: C:\Python35
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python34\python.exe
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
PYTHON_PATH: C:\Python35
|
PYTHON_PATH: C:\Python35
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python35\python.exe
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
PYTHON_PATH: C:\Python35
|
PYTHON_PATH: C:\Python35
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python36\python.exe
|
||||||
|
|
||||||
- TOXENV: py36
|
- TOXENV: py36
|
||||||
PYTHON_PATH: C:\Python36
|
PYTHON_PATH: C:\Python36
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python27\python.exe
|
||||||
- TOXENV: py36
|
- TOXENV: py36
|
||||||
PYTHON_PATH: C:\Python36
|
PYTHON_PATH: C:\Python36
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python33\python.exe
|
||||||
- TOXENV: py36
|
- TOXENV: py36
|
||||||
PYTHON_PATH: C:\Python36
|
PYTHON_PATH: C:\Python36
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python34\python.exe
|
||||||
- TOXENV: py36
|
- TOXENV: py36
|
||||||
PYTHON_PATH: C:\Python36
|
PYTHON_PATH: C:\Python36
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python35\python.exe
|
||||||
- TOXENV: py36
|
- TOXENV: py36
|
||||||
PYTHON_PATH: C:\Python36
|
PYTHON_PATH: C:\Python36
|
||||||
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
|
JEDI_TEST_ENVIRONMENT_EXECUTABLE: C:\Python36\python.exe
|
||||||
install:
|
install:
|
||||||
- set PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PATH%
|
- set PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PATH%
|
||||||
- pip install --disable-pip-version-check --user --upgrade pip
|
- pip install --disable-pip-version-check --user --upgrade pip
|
||||||
|
|||||||
18
conftest.py
18
conftest.py
@@ -87,16 +87,18 @@ def clean_jedi_cache(request):
|
|||||||
|
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
def environment(request):
|
def environment(request):
|
||||||
python = request.config.option.env
|
python = os.environ.get('JEDI_TEST_ENVIRONMENT_EXECUTABLE')
|
||||||
if python is None:
|
if python:
|
||||||
python = os.environ.get('JEDI_TEST_ENVIRONMENT', 'python')
|
return get_python_environment(python)
|
||||||
|
|
||||||
environment = get_python_environment(python)
|
version = request.config.option.env
|
||||||
version_info = environment.version_info
|
if version is None:
|
||||||
if int(str(version_info.major) + str(version_info.minor)) == py_version:
|
version = os.environ.get('JEDI_TEST_ENVIRONMENT', str(py_version))
|
||||||
return get_default_environment()
|
|
||||||
|
|
||||||
return environment
|
if int(version) == py_version:
|
||||||
|
return get_default_environment()
|
||||||
|
|
||||||
|
return get_python_environment('python%s.%s' % tuple(version))
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
|
|||||||
@@ -24,10 +24,23 @@ def test_find_python_environments():
|
|||||||
assert parser_version[:2] == env.version_info[:2]
|
assert parser_version[:2] == env.version_info[:2]
|
||||||
|
|
||||||
|
|
||||||
def test_version():
|
@pytest.mark.skipif("os.name == 'nt'")
|
||||||
env = Environment('some path', sys.executable)
|
@pytest.mark.parametrize(
|
||||||
|
'version',
|
||||||
|
['2.7', '3.3', '3.4', '3.5', '3.6', '3.7']
|
||||||
|
)
|
||||||
|
def test_versions(version):
|
||||||
|
executable = 'python' + version
|
||||||
|
try:
|
||||||
|
env = Environment('some path', executable)
|
||||||
|
except InvalidPythonEnvironment:
|
||||||
|
if int(version.replace('.', '')) == py_version:
|
||||||
|
# At least the current version has to work
|
||||||
|
raise
|
||||||
|
return
|
||||||
|
|
||||||
sys_path = env.get_sys_path()
|
sys_path = env.get_sys_path()
|
||||||
assert any(sys.prefix in p for p in sys_path)
|
assert any(executable in p for p in sys_path)
|
||||||
|
|
||||||
|
|
||||||
def test_load_module(evaluator):
|
def test_load_module(evaluator):
|
||||||
|
|||||||
8
tox.ini
8
tox.ini
@@ -14,6 +14,14 @@ setenv =
|
|||||||
# https://github.com/tomchristie/django-rest-framework/issues/1957
|
# https://github.com/tomchristie/django-rest-framework/issues/1957
|
||||||
# tox corrupts __pycache__, solution from here:
|
# tox corrupts __pycache__, solution from here:
|
||||||
PYTHONDONTWRITEBYTECODE=1
|
PYTHONDONTWRITEBYTECODE=1
|
||||||
|
# To test Jedi in different versions than the same Python version, set a
|
||||||
|
# different test environment.
|
||||||
|
env27: JEDI_TEST_ENVIRONMENT=27
|
||||||
|
env33: JEDI_TEST_ENVIRONMENT=33
|
||||||
|
env34: JEDI_TEST_ENVIRONMENT=34
|
||||||
|
env35: JEDI_TEST_ENVIRONMENT=35
|
||||||
|
env36: JEDI_TEST_ENVIRONMENT=36
|
||||||
|
env37: JEDI_TEST_ENVIRONMENT=37
|
||||||
commands =
|
commands =
|
||||||
py.test {posargs:jedi test}
|
py.test {posargs:jedi test}
|
||||||
[testenv:py27]
|
[testenv:py27]
|
||||||
|
|||||||
@@ -1,13 +1,30 @@
|
|||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Check if the desired Python version already exists.
|
if [[ $JEDI_TEST_ENVIRONMENT == "33" ]]; then
|
||||||
$JEDI_TEST_ENVIRONMENT --version && exit 0 || true
|
VERSION=3.3
|
||||||
|
DOWNLOAD=1
|
||||||
|
fi
|
||||||
|
if [[ $JEDI_TEST_ENVIRONMENT == "35" ]]; then
|
||||||
|
VERSION=3.5
|
||||||
|
DOWNLOAD=1
|
||||||
|
fi
|
||||||
|
|
||||||
# Otherwise download and install.
|
if [[ -z $VERSION ]]; then
|
||||||
VERSION=`expr "$JEDI_TEST_ENVIRONMENT" : '.*\([0-9]\.[0-9]\)'`
|
echo "Environments should already be installed"
|
||||||
DOWNLOAD_NAME=python-$VERSION
|
exit 0
|
||||||
wget https://s3.amazonaws.com/travis-python-archives/binaries/ubuntu/14.04/x86_64/$DOWNLOAD_NAME.tar.bz2
|
fi
|
||||||
sudo tar xjf $DOWNLOAD_NAME.tar.bz2 --directory /
|
|
||||||
|
PYTHON=python-$VERSION
|
||||||
|
|
||||||
|
# Check if the desired Python version already exists.
|
||||||
|
$PYTHON --version && exit 0 || true
|
||||||
|
|
||||||
|
if [[ $DOWNLOAD == 1 ]]; then
|
||||||
|
# Otherwise download and install.
|
||||||
|
DOWNLOAD_NAME=python-$VERSION
|
||||||
|
wget https://s3.amazonaws.com/travis-python-archives/binaries/ubuntu/14.04/x86_64/$DOWNLOAD_NAME.tar.bz2
|
||||||
|
sudo tar xjf $DOWNLOAD_NAME.tar.bz2 --directory /
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Successfully installed environment."
|
echo "Successfully installed environment."
|
||||||
|
|||||||
Reference in New Issue
Block a user