diff options
Diffstat (limited to 'tox.ini')
-rw-r--r-- | tox.ini | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..0d13fa8ad --- /dev/null +++ b/tox.ini @@ -0,0 +1,85 @@ +[tox] +minversion = 2.4 +envlist = formatting, py36, py37, py38, py39, py310, pypy, benchmark +skip_missing_interpreters = true + +[testenv:pylint] +deps = + -r {toxinidir}/requirements_test_min.txt + pre-commit~=2.13 +commands = + pre-commit run pylint --all-files + +[testenv:formatting] +basepython = python3 +deps = + -r {toxinidir}/requirements_test_min.txt + pre-commit~=2.13 +commands = + pre-commit run --all-files + +[testenv:mypy] +basepython = python3 +deps = + pre-commit~=2.13 +commands = + pre-commit run mypy --all-files + +[testenv] +setenv = + COVERAGE_FILE = {toxinidir}/.coverage.{envname} +deps = + -r {toxinidir}/requirements_test.txt +commands = + ; Run tests, ensuring all benchmark tests do not run + pytest --benchmark-disable {toxinidir}/tests/ {posargs:} + +[testenv:spelling] +deps = + -r {toxinidir}/requirements_test.txt +commands = + pytest {toxinidir}/tests/ {posargs:} -k unittest_spelling + +[testenv:coverage-html] +setenv = + COVERAGE_FILE = {toxinidir}/.coverage +deps = + -r {toxinidir}/requirements_test.txt +skip_install = true +commands = + coverage combine + coverage html --ignore-errors --rcfile={toxinidir}/.coveragerc + +[testenv:docs] +changedir = doc/ +deps = + -r {toxinidir}/doc/requirements.txt +commands = + sphinx-build -W -b html -d _build/doctrees . _build/html + +[testenv:benchmark] +deps = + -r {toxinidir}/requirements_test.txt + pygal +commands = + ; Run the only the benchmark tests, grouping output and forcing .json output so we + ; can compare benchmark runs + pytest --exitfirst \ + --failed-first \ + --benchmark-only \ + --benchmark-save=batch_files \ + --benchmark-save-data \ + --benchmark-autosave {toxinidir}/tests \ + --benchmark-group-by="group" \ + {posargs:} + +[testenv:profile_against_external] +setenv = + PYTEST_PROFILE_EXTERNAL = 1 +deps = + -r {toxinidir}/requirements_test.txt + gprof2dot +commands = + pytest --exitfirst \ + --profile-svg \ + {toxinidir}/tests/profile/test_profile_against_externals.py |