[tox]
minversion = 1.6
envlist = py3,pylint,pep8
skipsdist = True
basepython = python3

[testenv:py3]
deps =
    pytest>=5.4
    pytest-cov>=2.8
    mock>=4.0
    -r{toxinidir}/requirements.txt
commands =
    {posargs:pytest --cov=kloudbuster --cov-report=term-missing -vv tests}

[testenv:pep8]
deps =
    pep8>=1.5.7
    flake8>=3.8.3
    -r{toxinidir}/requirements.txt
whitelist_externals = flake8
commands = flake8 kloudbuster

[testenv:pylint]
deps =
    pylint>=2.4
    pytest>=5.4
    pytest-cov>=2.8
    mock>=4.0
    -r{toxinidir}/requirements.txt
commands = pylint --rcfile=pylintrc kloudbuster

[testenv:docs]
deps =
   sphinx>=1.4.0
   sphinx_rtd_theme>=0.1.9
   oslosphinx>=2.5.0
commands = python3 setup.py build_sphinx

[flake8]
max-line-length = 150
show-source = True
# E302: expected 2 blank lines
# E303: too many blank lines (2)
# H306: imports not in alphabetical order
# H404: multi line docstring should start without a leading new line
# H405: multi line docstring summary not separated with an empty line
# W504 line break after binary operator
ignore = E302,E303,H306,H404,H405,W504
builtins = _
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build