[tox]
envlist = py34,py27,pep8,func

[testenv]
usedevelop = True
install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/newton} {opts} {packages}
deps =
    -r{toxinidir}/test-requirements.txt
    -r{toxinidir}/plugin-requirements.txt
commands =
    coverage run --branch --include "ironic_inspector*" -m unittest discover ironic_inspector.test.unit
    coverage report -m --fail-under 90
setenv = PYTHONDONTWRITEBYTECODE=1
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY

[testenv:venv]
commands = {posargs}

[testenv:releasenotes]
envdir = {toxworkdir}/venv
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[testenv:cover]
commands =
    coverage run --branch --include "ironic_inspector*" -m unittest discover ironic_inspector.test.unit
    coverage report -m

[testenv:pep8]
basepython = python2.7
commands =
    flake8 ironic_inspector
    doc8 README.rst CONTRIBUTING.rst doc/source

[testenv:func]
basepython = python2.7
commands =
    python -m ironic_inspector.test.functional

[testenv:func3]
basepython = python3.5
commands =
    python3 -m ironic_inspector.test.functional

[testenv:genconfig]
envdir = {toxworkdir}/venv
commands = oslo-config-generator --config-file config-generator.conf

[flake8]
max-complexity=15

[hacking]
import_exceptions = ironicclient.exceptions,ironic_inspector.common.i18n

[testenv:docs]
setenv = PYTHONHASHSEED=0
sitepackages = False
deps = -r{toxinidir}/test-requirements.txt
commands =
  python setup.py build_sphinx
