summaryrefslogtreecommitdiff
path: root/tox.ini
blob: acba41ba84355f5cf8fc538e542514844c965410 (plain)
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
[tox]
minversion = 3.18
envlist =
    py27
    py35
    py36
    py37
    py38
    py39
    py27-minimal
    pypy
    pypy3
    docs
    coverage

[mindeps]
deps =
    .[mintests]

[fulldeps]
deps =
    .[test]

[testenv]
usedevelop = true
deps =
    !minimal: {[fulldeps]deps}
    minimal: {[mindeps]deps}
    .[docs]
commands =
# Temporary workaround. Avoid zope.testrunner pending
# IRO fixes in zope.security. https://github.com/zopefoundation/zope.security/issues/71
    python -m unittest discover -s src
    !minimal: sphinx-build -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
setenv =
    ZOPE_INTERFACE_STRICT_IRO = 1
    pure: PURE_PYTHON = 1

[testenv:docs]
basepython =
    python3
commands =
    sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
    sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest
deps =
    {[fulldeps]deps}
    .[docs]
setenv =
    ZOPE_INTERFACE_STRICT_IRO = 0

[testenv:coverage]
basepython =
    python3
usedevelop = true
commands =
    coverage run -m unittest discover -s src
    coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs {envdir}/.cache/doctest
    coverage report --fail-under=99
deps =
    {[testenv]deps}
    coverage
    coverage-python-version

[coverage:run]
branch = True
plugins = coverage_python_version
source = zope.component
omit =
    # Runs in a subprocess
    src/zope/component/standalonetests.py
    # Not used
    src/zope/component/hookable.py
    src/zope/component/eventtesting.py

[coverage:report]
exclude_lines =
    pragma: no cover
    pragma NO COVER
    if __name__ == '__main__':
    raise NotImplementedError
    self.fail