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

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

[testenv:py27]
basepython = python2.7

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

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

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

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

[testenv:bandit]
basepython = python3
commands = bandit -r oslo_utils -x tests -n5

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

[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
