[tox]
envlist = py35,py34,py27,pep8
minversion = 1.6
skipsdist = True

[testenv]
setenv = VIRTUAL_ENV={envdir}
         PYTHONWARNINGS=default::DeprecationWarning
usedevelop = True
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/newton} {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
whitelist_externals = sh
commands =
         find . -type f -name "*.py[c|o]" -delete
         bash tools/pretty_tox_serial.sh '{posargs}'

[testenv:fullstack]
basepython = python2.7
setenv = OS_TEST_PATH=./networking_l2gw/tests/fullstack

[testenv:pep8]
commands =
  flake8
  neutron-db-manage --subproject networking-l2gw check_migration

[testenv:py27]
setenv = OS_FAIL_ON_MISSING_DEPS=1

[testenv:venv]
commands = {posargs}

[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'

[testenv:docs]
commands = python setup.py build_sphinx

[flake8]
# H803 skipped on purpose per list discussion.
# H302 import only modules
# E123 skipped as they are invalid PEP-8.
# H904 Wrap long lines in parentheses instead of a backslash
show-source = True
ignore = E123,H803,H302,H904
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build

[testenv:api]
setenv = OS_TEST_PATH=./networking_l2gw/tests/api
         TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:/opt/stack/tempest/etc}
         OS_TEST_API_WITH_REST=1
         OS_TEST_TIMEOUT=90
deps =
  {[testenv]deps}
  git+https://git.openstack.org/openstack/tempest#egg=tempest

[hacking]
import_exceptions = networking_l2gw._i18n
