[tox]
minversion = 3.18.0
envlist = py3,pep8,docs
skipsdist = True

[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
    VIRTUAL_ENV={envdir}
deps =
    -r{toxinidir}/test-requirements.txt
    -r{toxinidir}/requirements.txt
commands = stestr run --slowest {posargs}

[testenv:pep8]
commands = flake8

[testenv:venv]
commands = {posargs}

[testenv:cover]
setenv =
    PYTHON=coverage run --source $project --parallel-mode
commands =
    stestr run {posargs}
    coverage combine
    coverage html -d cover
    coverage xml -o cover/coverage.xml

[testenv:genconfig]
commands =
    oslo-config-generator --config-file=config-generator.conf
    python tools/cli_auto_doc.py doc/source/tools

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

[flake8]
# E123, E125 skipped as they are invalid PEP-8
# H216 ignored until we drop third-party mock library
ignore = W605, W503, W504, E731, H216
show-source = true
builtins = _
exclude=.venv*,.git,.tox,dist,doc,*lib/python*,*egg,tools,build