[tox]
minversion = 1.6
skipsdist = True
envlist = py38,py37,py36,pep8,black,twine-check

[testenv]
passenv = GITLAB_IMAGE GITLAB_TAG
setenv = VIRTUAL_ENV={envdir}
whitelist_externals = true
usedevelop = True
install_command = pip install {opts} {packages}

deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands =
  pytest gitlab/tests {posargs}

[testenv:pep8]
commands =
  flake8 {posargs} gitlab/

[testenv:black]
basepython = python3
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
       black
commands =
  black {posargs} gitlab tools/functional

[testenv:twine-check]
basepython = python3
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
       twine
commands =
  twine check dist/*

[testenv:venv]
commands = {posargs}

[flake8]
exclude = .git,.venv,.tox,dist,doc,*egg,build,
max-line-length = 88
ignore = H501,H803

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

[testenv:cover]
commands =
  pytest --cov gitlab --cov-report term --cov-report html \
    --cov-report xml gitlab/tests {posargs}

[coverage:run]
omit = *tests*

[testenv:cli_func_v4]
commands = {toxinidir}/tools/functional_tests.sh -a 4

[testenv:py_func_v4]
commands = {toxinidir}/tools/py_functional_tests.sh -a 4
