[tox]
envlist = py35,py27,pypy,pep8,releasenotes
minversion = 2.0
skipsdist = True

[testenv]
usedevelop = True
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}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
    find . -type f -name "*.py[c|o]" -delete
    python setup.py testr --slowest --testr-args='{posargs}'
whitelist_externals = find

[testenv:pep8]
commands =
    flake8
    # Check that .po and .pot files are valid:
    bash -c "find senlinclient -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 --no-run-if-empty msgfmt --check-format -o /dev/null"
whitelist_externals = bash

[testenv:venv]
commands = {posargs}

[testenv:cover]
commands =
    python setup.py testr --coverage --testr-args='{posargs}'
    coverage report

[testenv:debug]
commands = oslo_debug_helper -t senlinclient/tests {posargs}

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

[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[flake8]
ignore = D100,D101,D102,D103,D104,D105,D200,D201,D202,D204,D205,D300,D301,D400,D401,I100,I201
show-source = True
enable-extensions = H203,H106
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build
max-complexity=20

[hacking]
import_exceptions = senlinclient.common.i18n