# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
skipsdist = True
#envlist = pep8, py{27,35}
# requirement functools32 is not installed for py35
envlist = pep8,py27

[testenv]
install_command = pip install -U {opts} {packages}
deps =
    -r{toxinidir}/tcp_tests/requirements.txt
usedevelop = False
commands = py.test -s -vvv tcp_tests/tests/unit

[testenv:venv]
commands = {posargs}

[testenv:pep8]
deps = flake8
usedevelop = False
exclude = .venv,.git,.tox,.chache,.lib,dist,doc,*egg,build,local*
commands =
    flake8 {posargs:.}

[flake8]
exclude = .venv,.git,.tox,dist,doc,*egg,build,local,./lib
show-pep8 = True
show-source = True
count = True
