[tox] envlist = py27, py35, py36, py37, qa [testenv] extras = testing deps = # for testing the typing module py27: typing # numpydoc for typing scipy stack numpydoc # sphinx, a dependency of numpydoc, dropped Python 2 support in version 2.0 sphinx < 2.0 cov: coverage # Overwrite the parso version (only used sometimes). git+https://github.com/davidhalter/parso.git passenv = JEDI_TEST_ENVIRONMENT setenv = # https://github.com/tomchristie/django-rest-framework/issues/1957 # tox corrupts __pycache__, solution from here: PYTHONDONTWRITEBYTECODE=1 # Enable all warnings. PYTHONWARNINGS=always # To test Jedi in different versions than the same Python version, set a # different test environment. env27: JEDI_TEST_ENVIRONMENT=27 env35: JEDI_TEST_ENVIRONMENT=35 env36: JEDI_TEST_ENVIRONMENT=36 env37: JEDI_TEST_ENVIRONMENT=37 interpreter: JEDI_TEST_ENVIRONMENT=interpreter commands = pytest {posargs} [testenv:cov-py37] commands = coverage run --source jedi -m pytest {posargs} coverage report [testenv:sith] commands = {envpython} -c "import os; a='{envtmpdir}'; os.path.exists(a) or os.makedirs(a)" {envpython} sith.py --record {envtmpdir}/record.json random {posargs:jedi} [testenv:qa] # Ignore F401, which are unused imports. flake8 is a primitive tool and is sometimes wrong. commands = flake8 --extend-ignore F401 {posargs:jedi} deps = extras = qa