-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
90 lines (77 loc) · 1.65 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
; a generative tox configuration, see: https://tox.readthedocs.io/en/latest/config.html#generative-envlist
[tox]
envlist =
lint,
twine,
mypy,
docs,
py{37,38,39,310,311,312},
report
[tool:pytest]
addopts =
--basetemp={envtmpdir}
[testenv:dev] # Create a development environment
envdir = {toxinidir}/venv
usedevelop = true
extras = dev
deps = -r {toxinidir}/docs/requirements.txt
commands = python --version
[testenv]
setenv =
PYTHONPATH={toxinidir}
PYTHONUNBUFFERED=yes
passenv = *
usedevelop = false
deps =
pytest
pytest-cov
commands =
pytest {posargs:-vv}
# Run coverage only in py38 env.
[testenv:py38]
commands =
pytest --cov=embfile {posargs:-vv}
[testenv:{docs,spell,report,codecov,lint,twine,mypy}]
basepython = py38
[testenv:report]
depends = py38
deps = coverage
skip_install = true
commands =
coverage html
coverage report
[testenv:codecov]
deps =
codecov
skip_install = true
commands =
codecov []
[testenv:lint]
skip_install = true
deps = flake8
commands = flake8 src tests
[testenv:mypy]
skip_install = true
deps = mypy
commands = mypy --install-types --non-interactive src tests
[testenv:twine]
deps = twine
commands = twine check {distdir}/*
[testenv:spell]
setenv =
SPELLCHECK=1
commands =
sphinx-build -b spelling docs docs/_build
skip_install = true
deps =
-r{toxinidir}/docs/requirements.txt
sphinxcontrib-spelling
sphinxcontrib-spelling
pyenchant
[testenv:docs]
deps =
-r {toxinidir}/docs/requirements.txt
commands =
python scripts/remove_dir.py docs/_build
sphinx-build {posargs:-E} -b html docs docs/_build
sphinx-build -b linkcheck docs docs/_build