Add AppVeyor configuration

This commit is contained in:
micbou
2018-03-23 05:13:04 +01:00
committed by Dave Halter
parent 65a8ec6abc
commit e8b301ebf9
6 changed files with 111 additions and 66 deletions

View File

@@ -8,11 +8,11 @@ python:
- 3.6
env:
- JEDI_TEST_ENVIRONMENT=27
- JEDI_TEST_ENVIRONMENT=33
- JEDI_TEST_ENVIRONMENT=34
- JEDI_TEST_ENVIRONMENT=35
- JEDI_TEST_ENVIRONMENT=36
- JEDI_TEST_ENVIRONMENT=/opt/python/2.7/bin/python
- JEDI_TEST_ENVIRONMENT=/opt/python/3.3/bin/python
- JEDI_TEST_ENVIRONMENT=/opt/python/3.4/bin/python
- JEDI_TEST_ENVIRONMENT=/opt/python/3.5/bin/python
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
matrix:
allow_failures:
@@ -20,13 +20,13 @@ matrix:
- env: TOXENV=sith
- env:
- TOXENV=cov
- JEDI_TEST_ENVIRONMENT=36
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
- python: 3.7-dev
include:
- python: 3.6
env:
- TOXENV=cov
- JEDI_TEST_ENVIRONMENT=36
- JEDI_TEST_ENVIRONMENT=/opt/python/3.6/bin/python
- python: 3.6
env: TOXENV=sith
# For now ignore pypy, there are so many issues that we don't really need
@@ -35,13 +35,6 @@ matrix:
- python: "3.7-dev"
before_install:
- ./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:
- pip install --quiet tox-travis
script:

87
appveyor.yml Normal file
View File

@@ -0,0 +1,87 @@
environment:
matrix:
- TOXENV: py27
PYTHON_PATH: C:\Python27
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
- TOXENV: py27
PYTHON_PATH: C:\Python27
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
- TOXENV: py27
PYTHON_PATH: C:\Python27
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
- TOXENV: py27
PYTHON_PATH: C:\Python27
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
- TOXENV: py27
PYTHON_PATH: C:\Python27
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
- TOXENV: py33
PYTHON_PATH: C:\Python33
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
- TOXENV: py33
PYTHON_PATH: C:\Python33
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
- TOXENV: py33
PYTHON_PATH: C:\Python33
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
- TOXENV: py33
PYTHON_PATH: C:\Python33
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
- TOXENV: py33
PYTHON_PATH: C:\Python33
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
- TOXENV: py34
PYTHON_PATH: C:\Python34
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
- TOXENV: py34
PYTHON_PATH: C:\Python34
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
- TOXENV: py34
PYTHON_PATH: C:\Python34
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
- TOXENV: py34
PYTHON_PATH: C:\Python34
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
- TOXENV: py34
PYTHON_PATH: C:\Python34
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
- TOXENV: py35
PYTHON_PATH: C:\Python35
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
- TOXENV: py35
PYTHON_PATH: C:\Python35
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
- TOXENV: py35
PYTHON_PATH: C:\Python35
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
- TOXENV: py35
PYTHON_PATH: C:\Python35
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
- TOXENV: py35
PYTHON_PATH: C:\Python35
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
- TOXENV: py36
PYTHON_PATH: C:\Python36
JEDI_TEST_ENVIRONMENT: C:\Python27\python.exe
- TOXENV: py36
PYTHON_PATH: C:\Python36
JEDI_TEST_ENVIRONMENT: C:\Python33\python.exe
- TOXENV: py36
PYTHON_PATH: C:\Python36
JEDI_TEST_ENVIRONMENT: C:\Python34\python.exe
- TOXENV: py36
PYTHON_PATH: C:\Python36
JEDI_TEST_ENVIRONMENT: C:\Python35\python.exe
- TOXENV: py36
PYTHON_PATH: C:\Python36
JEDI_TEST_ENVIRONMENT: C:\Python36\python.exe
install:
- set PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PATH%
- pip install --disable-pip-version-check --user --upgrade pip
- pip install tox
build_script:
- tox

View File

@@ -87,14 +87,16 @@ def clean_jedi_cache(request):
@pytest.fixture(scope='session')
def environment(request):
version = request.config.option.env
if version is None:
version = os.environ.get('JEDI_TEST_ENVIRONMENT', str(py_version))
python = request.config.option.env
if python is None:
python = os.environ.get('JEDI_TEST_ENVIRONMENT', 'python')
if int(version) == py_version:
return get_default_environment()
environment = get_python_environment(python)
version_info = environment.version_info
if int(str(version_info.major) + str(version_info.minor)) == py_version:
return get_default_environment()
return get_python_environment('python%s.%s' % tuple(version))
return environment
@pytest.fixture(scope='session')

View File

@@ -24,22 +24,10 @@ def test_find_python_environments():
assert parser_version[:2] == env.version_info[:2]
@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
def test_version():
env = Environment('some path', sys.executable)
sys_path = env.get_sys_path()
assert any(executable in p for p in sys_path)
assert any(sys.prefix in p for p in sys_path)
def test_load_module(evaluator):

View File

@@ -14,14 +14,6 @@ setenv =
# https://github.com/tomchristie/django-rest-framework/issues/1957
# tox corrupts __pycache__, solution from here:
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 =
py.test {posargs:jedi test}
[testenv:py27]

View File

@@ -1,30 +1,13 @@
#! /usr/bin/env bash
set -e
if [[ $JEDI_TEST_ENVIRONMENT == "33" ]]; then
VERSION=3.3
DOWNLOAD=1
fi
if [[ $JEDI_TEST_ENVIRONMENT == "35" ]]; then
VERSION=3.5
DOWNLOAD=1
fi
if [[ -z $VERSION ]]; then
echo "Environments should already be installed"
exit 0
fi
PYTHON=python-$VERSION
# Check if the desired Python version already exists.
$PYTHON --version && exit 0 || true
$JEDI_TEST_ENVIRONMENT --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
# Otherwise download and install.
VERSION=`expr "$JEDI_TEST_ENVIRONMENT" : '.*\([0-9]\.[0-9]\)'`
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 /
echo "Successfully installed environment."