# NOTE(harlowja): this is a template, not a fully-generated tox.ini, use toxgen
# to translate this into a fully specified tox.ini file before using. Changes
# made to tox.ini will only be reflected if ran through the toxgen generator.

[tox]
minversion = 1.6
skipsdist = True

[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
       alembic>=0.4.1
       psycopg2
       kazoo>=1.3.1
commands = python setup.py testr --slowest --testr-args='{posargs}'

[tox:jenkins]
downloadcache = ~/cache/pip

[testenv:pep8]
commands = flake8 {posargs}

[testenv:pylint]
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
       pylint==0.26.0
commands = pylint --rcfile=pylintrc taskflow

[testenv:cover]
basepython = python2.7
deps = {[testenv:py27]deps}
commands = python setup.py testr --coverage --testr-args='{posargs}'

[testenv:venv]
commands = {posargs}

[flake8]
builtins = _
exclude = .venv,.tox,dist,doc,./taskflow/openstack/common,*egg,.git,build,tools

# NOTE(imelnikov): pyXY envs are considered to be default, so they must have
# richest set of test requirements
[testenv:py26]
basepython = python2.6
deps = {[testenv:py26-sa7-mysql-ev]deps}

[testenv:py27]
basepython = python2.7
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/optional-requirements.txt
       -r{toxinidir}/test-requirements.txt

[testenv:py33]
basepython = python3.3
deps = {[testenv]deps}
       SQLAlchemy>=0.7.8,<=0.8.99

[axes]
python = py26,py27
sqlalchemy = sa7,sa8,sa9
mysql = mysql,pymysql
eventlet = ev,*

[axis:python:py26]
basepython = python2.6
deps = {[testenv]deps}

[axis:python:py27]
basepython = python2.7
deps = {[testenv]deps}

[axis:eventlet:ev]
deps =
    eventlet>=0.13.0

[axis:sqlalchemy:sa7]
deps =
    SQLAlchemy<=0.7.99

[axis:sqlalchemy:sa8]
deps =
    SQLAlchemy>=0.8,<=0.8.99

[axis:sqlalchemy:sa9]
deps =
    SQLAlchemy>=0.9,<=0.9.99

[axis:mysql:mysql]
deps =
    MySQL-python

[axis:mysql:pymysql]
deps =
    pyMySQL