[tox]
minversion = 3.2.0
envlist = pep8,py37,py36
skipsdist = True

[testenv]
basepython = python3
usedevelop = True
install_command = pip install {opts} {packages}
passenv =
  TERM
setenv =
   VIRTUAL_ENV={envdir}
   LANG=en_US.UTF-8
   LANGUAGE=en_US:en
   LC_ALL=C
   HOME={envdir}
deps =
       -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
       -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}

[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
deps = bindep
commands = bindep test

[testenv:pep8]
commands = flake8

[testenv:venv]
commands = {posargs}
passenv = *

[testenv:cover]
setenv =
  PYTHON=coverage run --source tripleoclient --parallel-mode
  HOME={envdir}
commands =
  coverage erase
  stestr run --color {posargs}
  coverage combine
  coverage html -d cover
  coverage xml -o cover/coverage.xml
  coverage report

[testenv:debug]
deps =
    oslotest
    {[testenv]deps}
commands = oslo_debug_helper -t tripleoclient/tests {posargs}

[testenv:docs]
deps =
  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
  -r{toxinidir}/requirements.txt
  -r{toxinidir}/doc/requirements.txt
commands =
  sphinx-build -b html doc/source doc/build/html

[flake8]
show-source = True
builtins = _
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,releasenotes

[testenv:pdf-docs]
whitelist_externals = make
description =
  Build PDF documentation.
envdir = {toxworkdir}/docs
deps = {[testenv:docs]deps}
commands =
  sphinx-build -b latex doc/source doc/build/pdf
  make -C doc/build/pdf

[testenv:genconfig]
setenv =
   HOME={env:HOME:/home/stack}
commands =
   oslo-config-generator --config-file config-generator/undercloud.conf
   oslo-config-generator --config-file config-generator/standalone.conf
   oslo-config-generator --config-file config-generator/minion.conf

[testenv:releasenotes]
deps =
  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
  -r{toxinidir}/requirements.txt
  -r{toxinidir}/doc/requirements.txt
commands =
  sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html


[testenv:lower-constraints]
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt