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

[testenv]
usedevelop = True
deps =
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/test-requirements.txt
    -r{toxinidir}/plugin-requirements.txt
commands =
    coverage run --branch --include "ironic_inspector*" -m unittest discover ironic_inspector.test
    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:pep8]
basepython = python2.7
commands =
    flake8 ironic_inspector
    doc8 README.rst CONTRIBUTING.rst HTTP-API.rst

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

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

[testenv:genconfig]
envdir = {toxworkdir}/venv
commands =
    oslo-config-generator \
    --output-file example.conf \
    --namespace ironic_inspector \
    --namespace keystonemiddleware.auth_token \
    --namespace ironic_inspector.common.swift \
    --namespace oslo.db \
    --namespace oslo.log

[flake8]
max-complexity=15

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