[tox] minversion = 1.6 skipsdist = True envlist = py310,py39,py38,py37,py36,pep8,black,twine-check,mypy,isort [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}/requirements-test.txt commands = pytest tests/unit {posargs} [testenv:pep8] basepython = python3 envdir={toxworkdir}/lint deps = -r{toxinidir}/requirements-lint.txt commands = flake8 {posargs} . [testenv:black] basepython = python3 envdir={toxworkdir}/lint deps = -r{toxinidir}/requirements-lint.txt commands = black {posargs} . [testenv:isort] basepython = python3 envdir={toxworkdir}/lint deps = -r{toxinidir}/requirements-lint.txt commands = isort {posargs} {toxinidir} [testenv:mypy] basepython = python3 envdir={toxworkdir}/lint deps = -r{toxinidir}/requirements-lint.txt commands = mypy {posargs} [testenv:twine-check] basepython = python3 deps = -r{toxinidir}/requirements.txt twine commands = python3 setup.py sdist bdist_wheel twine check dist/* [testenv:venv] commands = {posargs} [flake8] exclude = .git,.venv,.tox,dist,doc,*egg,build, max-line-length = 88 # We ignore the following because we use black to handle code-formatting # E203: Whitespace before ':' # E501: Line too long # W503: Line break occurred before a binary operator ignore = E203,E501,W503 per-file-ignores = gitlab/v4/objects/__init__.py:F401,F403 [testenv:docs] deps = -r{toxinidir}/requirements-docs.txt commands = python setup.py build_sphinx [testenv:cover] commands = pytest --cov --cov-report term --cov-report html \ --cov-report xml tests/unit {posargs} [coverage:run] omit = *tests* source = gitlab [coverage:report] exclude_lines = pragma: no cover if TYPE_CHECKING: if debug: [pytest] script_launch_mode = subprocess [testenv:cli_func_v4] deps = -r{toxinidir}/requirements-docker.txt commands = pytest --cov --cov-report xml tests/functional/cli {posargs} [testenv:py_func_v4] deps = -r{toxinidir}/requirements-docker.txt commands = pytest --cov --cov-report xml tests/functional/api {posargs} [testenv:smoke] deps = -r{toxinidir}/requirements-test.txt commands = pytest tests/smoke {posargs}