[tox]
envlist = pep8,py3,py38
minversion = 3.18
skipsdist = True

[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
         OS_TEST_PATH=./refstack_client/tests/unit
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
       git+https://opendev.org/openinfra/python-tempestconf@master#egg=python_tempestconf
commands =
  stestr run {posargs}

allowlist_externals =
    bash
    find
distribute = false

[testenv:pep8]
basepython = python3
commands = flake8
distribute = false

[testenv:venv]
basepython = python3
commands = {posargs}

[testenv:cover]
basepython = python3
setenv =
  {[testenv]setenv}
  PYTHON=coverage run --source refstack_client --parallel-mode
commands =
  coverage erase
  find . -type f -name "*.pyc" -delete
  stestr run {posargs}
  coverage combine
  coverage html -d cover
  coverage xml -o cover/coverage.xml
  coverage report

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

[flake8]
# E125 continuation line does not distinguish itself from next logical line
# H404 multi line docstring should start with a summary
# W504 skipped because it is overeager and unnecessary
ignore = E125,H404,W504
show-source = true
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,build,.tempest