[tox]
minversion = 2.0
envlist = py35,py27,pep8

[testenv]
setenv =
    VIRTUAL_ENV={envdir}
install_command = pip install {opts} {packages}
deps =
    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/rocky}
    -r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}

[testenv:py27]
basepython = python2.7

[testenv:pep8]
basepython = python3
commands =
  flake8
  # Run security linter
  bandit -r oslo_middleware -x tests -n5

[testenv:venv]
basepython = python3
commands = {posargs}

[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -W -b html doc/source doc/build/html

[testenv:cover]
basepython = python3
commands = python setup.py test --coverage --coverage-package-name=oslo_middleware --testr-args='{posargs}'

[flake8]
# E123, E125 skipped as they are invalid PEP-8.

show-source = True
ignore = E123,E125
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,__init__.py

[hacking]
import_exceptions = oslo_middleware._i18n

[testenv:releasenotes]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[testenv:lower-constraints]
basepython = python3
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt
