-
Notifications
You must be signed in to change notification settings - Fork 80
/
tox.ini
142 lines (116 loc) · 3.16 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
138
139
140
141
142
# Tox (https://tox.readthedocs.io/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
envlist = py35, py36, py37, py38
[testenv]
usedevelop = True
setenv = PYTHONDONTWRITEBYTECODE = 1
install_command =
pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
-rrequirements.txt
commands =
pip check # check for conflicting packages
python test.py -v
# Env to create coverage report locally
[testenv:localcoverage]
basepython = python3.8
commands =
python -m coverage run test.py --pynwb
coverage html -d tests/coverage/htmlcov
# Test with python 3.6, pinned dev reqs, and minimum run requirements
[testenv:py36-min-req]
basepython = python3.6
deps =
-rrequirements-dev.txt
-rrequirements-min.txt
commands = {[testenv]commands}
# Envs that builds wheels and source distribution
[testenv:build]
commands =
python setup.py sdist
python setup.py bdist_wheel
[testenv:build-py35]
basepython = python3.5
commands = {[testenv:build]commands}
[testenv:build-py36]
basepython = python3.6
commands = {[testenv:build]commands}
[testenv:build-py37]
basepython = python3.7
commands = {[testenv:build]commands}
[testenv:build-py38]
basepython = python3.8
commands = {[testenv:build]commands}
[testenv:build-py36-min-req]
basepython = python3.6
deps =
-rrequirements-dev.txt
-rrequirements-min.txt
commands = {[testenv:build]commands}
# Envs that will only be executed on CI that does coverage reporting
[testenv:coverage]
passenv = CI CIRCLECI CIRCLE_*
basepython = python3.8
commands =
python -m coverage run test.py --pynwb
coverage report -m
codecov
# Envs that will test installation from a wheel
[testenv:wheelinstall-py35]
deps = null
commands = python -c "import pynwb"
[testenv:wheelinstall-py36]
deps = null
commands = python -c "import pynwb"
[testenv:wheelinstall-py37]
deps = null
commands = python -c "import pynwb"
[testenv:wheelinstall-py38]
deps = null
commands = python -c "import pynwb"
[testenv:wheelinstall-py36-min-req]
deps = null
commands = python -c "import pynwb"
# Envs that will execute gallery tests
[testenv:gallery]
install_command =
pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
-rrequirements.txt
-rrequirements-doc.txt
commands =
python test.py --example
[testenv:gallery-py36]
basepython = python3.6
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py37]
basepython = python3.7
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py38]
basepython = python3.8
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py36-min-req]
basepython = python3.6
deps =
-rrequirements-dev.txt
-rrequirements-min.txt
-rrequirements-doc.txt
commands = {[testenv:gallery]commands}
[testenv:validation-py37]
basepython = python3.7
install_command =
pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
-rrequirements.txt
-rrequirements-doc.txt
commands =
python test.py --validation