[tox]
minversion = 2.0
envlist = py37,pep8
skipdist = True

[testenv]
basepython = python3
usedevelop = True
install_command = pip install {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
         OS_STDOUT_CAPTURE=1
         OS_STDERR_CAPTURE=1
         OS_TEST_TIMEOUT=60
deps =
  -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/upper-constraints.txt}
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt
commands = stestr run {posargs}
whitelist_externals = stestr

[testenv:unit-tips]
commands =
    pip install -q -e "git+file://{toxinidir}/../cliff#egg=cliff"
    pip install -q -e "git+file://{toxinidir}/../keystoneauth#egg=keystoneauth"
    pip install -q -e "git+file://{toxinidir}/../openstacksdk#egg=openstacksdk"
    pip freeze
    stestr run {posargs}
whitelist_externals = stestr

[testenv:pep8]
commands = flake8

[testenv:venv]
commands = {posargs}

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

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

[testenv:docs]
deps =
  -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/upper-constraints.txt}
  -r{toxinidir}/requirements.txt
  -r{toxinidir}/doc/requirements.txt
commands =
    sphinx-apidoc -o doc/api osc_lib osc_lib/tests
    # Create ChangeLog file
    python setup.py sdist
    sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html

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

[flake8]
show-source = True
exclude = .git,.tox,dist,doc,*lib/python*,*egg,build,tools
# If 'ignore' is not set there are default errors and warnings that are set
# Doc: http://flake8.readthedocs.org/en/latest/config.html#default
ignore = W504

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