blob: 443f05dc8bcfafc829a728db28b85f0a78e24cdb [file] [log] [blame]
[tox]
minversion = 4.4.4
skip_missing_interpreters = {env:TOX_SKIP_MISSING_INTERPRETERS:True}
envlist =
py37,
py38,
py39,
py310,
lint,
type,
docs,
isolated_build = true
[testenv]
description = run the test driver with {basepython}
passenv =
PYTEST_XDIST_WORKER_COUNT
PROGRAMDATA
PROGRAMFILES(X86)
PYTEST_ADDOPTS
deps = -rtest-requirements.txt
commands = python -m pytest {posargs}
[testenv:lint]
description = check the code style
commands =
flake8 {posargs}
black --check --diff --color .
isort --check --diff --color .
[testenv:type]
description = type check ourselves
passenv =
TERM
MYPY_FORCE_COLOR
MYPY_FORCE_TERMINAL_WIDTH
commands =
python -m mypy --config-file mypy_self_check.ini -p mypy -p mypyc
python -m mypy --config-file mypy_self_check.ini misc --exclude misc/fix_annotate.py --exclude misc/async_matrix.py --exclude misc/sync-typeshed.py
[testenv:docs]
description = invoke sphinx-build to build the HTML docs
deps = -rdocs/requirements-docs.txt
commands =
sphinx-build -d "{toxworkdir}/docs_doctree" docs/source "{toxworkdir}/docs_out" --color -W -bhtml {posargs}
python -c 'import pathlib; print("documentation available under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "docs_out" / "index.html"))'
[testenv:dev]
description = generate a DEV environment, that has all project libraries
usedevelop = True
deps =
-rtest-requirements.txt
-rdocs/requirements-docs.txt
commands =
python -m pip list --format=columns
python -c 'import sys; print(sys.executable)'