-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtox.ini
137 lines (125 loc) · 3.79 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
; a generative tox configuration, see: https://testrun.org/tox/latest/config.html#generative-envlist
[tox]
envlist =
clean,
check,
; {py27,py33,py34,py35,pypy},
{py27,py35},
report,
; docs
[testenv]
basepython =
pypy: {env:TOXPYTHON:pypy}
{py27,docs,spell}: {env:TOXPYTHON:python2.7}
py33: {env:TOXPYTHON:python3.3}
py34: {env:TOXPYTHON:python3.4}
py35: {env:TOXPYTHON:python3.5}
{coveralls,codecov}: python3.5
{bootstrap,clean,check,report,fixisort}: python
setenv =
PYTHONPATH={toxinidir}/tests
PYTHONUNBUFFERED=yes
# NOTE: we use a hardcoded hashseed to ensure predictable test execution (e.g. for 'repr({...})', etc.)
PYTHONHASHSEED=123
passenv =
*
usedevelop = false
deps =
-r{toxinidir}/requirements/test.txt
# Note: the following were moved to {toxinidir}/requirements/test.txt. Commented to prevent duplicate req error.
; pytest
; pytest-travis-fold
; pytest-cov
commands =
# NOTE: Many of the doctests currently fail under py3. Apparently due to relative imports of modules.
# For more info,
# see: [py3 relative import options](http://stackoverflow.com/questions/16981921/relative-imports-in-python-3)
# For now (as a workaround), we simply make doctest execution a py27-only operation.
; py{27}: {posargs:py.test --doctest-modules --cov=clifunzone --cov-report=term-missing -vv src}
py{27}: {posargs:py.test --doctest-modules --cov=clifunzone --cov-report=term-missing src}
# see: [pytest with doctest](https://pytest.org/latest/doctest.html)
{posargs:py.test --cov=clifunzone --cov-report=term-missing -vv tests}
[testenv:bootstrap]
deps =
jinja2
matrix
skip_install = true
commands =
python ci/bootstrap.py
passenv =
*
[testenv:spell]
setenv =
SPELLCHECK=1
commands =
sphinx-build -b spelling docs dist/docs
skip_install = true
deps =
-r{toxinidir}/docs/requirements.txt
sphinxcontrib-spelling
pyenchant
[testenv:docs]
deps =
-r{toxinidir}/docs/requirements.txt
commands =
sphinx-build {posargs:-E} -b html docs dist/docs
sphinx-build -b linkcheck docs dist/docs
[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 src tests setup.py
;isort --verbose --check-only --diff --recursive src tests setup.py
isort --check-only --recursive src tests setup.py
[testenv:coveralls]
deps =
coveralls
skip_install = true
commands =
; NOTE: FIX: fix for a backward incompatibility introduced by coverage.py Version 4.2b1 --- 2016-07-04
; ... The "coverage combine" command now will ignore an existing .coverage data file,
; rather than appending to it as it used to do. ...
; ... There's also a new "--append" option on "coverage combine", so you can get the old behavior ...
; see: http://nedbatchelder.com/blog/201607/coveragepy_42.html
; see: https://bitbucket.org/ned/coveragepy/src/tip/CHANGES.rst?fileviewer=file-view-default
; coverage combine
coverage combine --append
coverage report
coveralls []
[testenv:codecov]
deps =
codecov
skip_install = true
commands =
; coverage combine --append
; coverage report
coverage xml --ignore-errors
codecov []
[testenv:report]
deps = coverage
skip_install = true
commands =
coverage combine --append
coverage report
coverage html
[testenv:clean]
commands = coverage erase
skip_install = true
deps = coverage
[testenv:fixisort]
deps = isort
skip_install = true
skipsdist = true
;usedevelop = true
commands =
# see: [isort](https://pypi.python.org/pypi/isort)
; isort --atomic --recursive src tests setup.py
isort --verbose --recursive src tests setup.py