aboutsummaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini85
1 files changed, 85 insertions, 0 deletions
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..5e823f9
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,85 @@
+[testenv:bootstrap]
+deps =
+ jinja2
+ tox
+skip_install = true
+commands =
+ python ci/bootstrap.py --no-env
+passenv =
+ *
+; a generative tox configuration, see: https://tox.readthedocs.io/en/latest/config.html#generative-envlist
+
+[tox]
+envlist =
+ clean,
+ check,
+ docs,
+ {py36,py37,py38,py39,py310,pypy37,pypy38},
+ report
+ignore_basepython_conflict = true
+
+[testenv]
+basepython =
+ pypy37: {env:TOXPYTHON:pypy3.7}
+ pypy38: {env:TOXPYTHON:pypy3.8}
+ py36: {env:TOXPYTHON:python3.6}
+ py37: {env:TOXPYTHON:python3.7}
+ py38: {env:TOXPYTHON:python3.8}
+ py39: {env:TOXPYTHON:python3.9}
+ py310: {env:TOXPYTHON:python3.10}
+ {bootstrap,clean,check,report,docs,codecov}: {env:TOXPYTHON:python3}
+setenv =
+ PYTHONPATH={toxinidir}/tests
+ PYTHONUNBUFFERED=yes
+passenv =
+ *
+usedevelop = false
+deps =
+ pytest
+ pytest-cov
+commands =
+ {posargs:pytest --cov --cov-report=term-missing -vv tests}
+
+[testenv:check]
+deps =
+ docutils
+ check-manifest
+ flake8
+ readme-renderer
+ pygments
+ isort
+skip_install = true
+commands =
+ python setup.py check --strict --metadata --restructuredtext
+ check-manifest {toxinidir}
+ flake8
+ isort --verbose --check-only --diff --filter-files .
+
+[testenv:docs]
+usedevelop = true
+deps =
+ -r{toxinidir}/docs/requirements.txt
+commands =
+ sphinx-build {posargs:-E} -b html docs dist/docs
+ sphinx-build -b linkcheck docs dist/docs
+
+[testenv:codecov]
+deps =
+ codecov
+skip_install = true
+commands =
+ codecov []
+
+[testenv:report]
+deps =
+ coverage
+skip_install = true
+commands =
+ coverage report
+ coverage html
+
+[testenv:clean]
+commands = coverage erase
+skip_install = true
+deps =
+ coverage