forked from ni/nimi-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
267 lines (256 loc) · 13.3 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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# Tox (http://tox.testrun.org/) 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 = build_test, codegen, py{27,34,35,36,37,38,py,py3}-test, flake8, docs, pkg-{nidmm,nidcpower,nifgen,niscope,niswitch,nimodinst,nise}
skip_missing_interpreters=True
ignore_basepython_conflict=True
skipsdist = true
toxworkdir = .tox/{env:BITNESS:64}
[testenv]
description =
test: Run tests
build_test: Test the build scripts
clean: Clean code generated files
codegen: Run code generation step
flake8: Run static analysis
docs: Generate documentation
pkg: Verify the package
system_tests: Run system tests (requires driver runtime to be installed)
nidcpower_system_tests: Run system tests for nidcpower
nidmm_system_tests: Run system tests for nidmm
nifgen_system_tests: Run system tests for nifgen
niscope_system_tests: Run system tests for niscope
niswitch_system_tests: Run system tests for niswitch
nimodinst_system_tests: Run system tests for nimodinst
nise_system_tests: Run system tests for nise
basepython =
clean: python
build_test: python
codegen: python3
py27: python2.7
py34: python3.4
py35: python3.5
py36: python3.6
py37: python3.7
py38: python3.8
pypy: pypy
pypy3: pypy3
flake8: python3
docs: python
pkg: python
changedir =
build_test: .
test: .
codegen: .
clean: .
docs: docs
flake8: .
pkg-nidcpower: bin/nidcpower
pkg-nidmm: bin/nidmm
pkg-nifgen: bin/nifgen
pkg-niscope: bin/niscope
pkg-niswitch: bin/niswitch
pkg-nimodinst: bin/nimodinst
pkg-nise: bin/nise
system_tests: .
nidcpower_system_tests: .
nidmm_system_tests: .
nifgen_system_tests: .
niscope_system_tests: .
niswitch_system_tests: .
nimodinst_system_tests: .
nise_system_tests: .
# We touch .coverage first to ensure the files exists, then remove it.
commands =
build_test: python --version
build_test: python -c "import platform; print(platform.architecture())"
build_test: python -m pip install pip --upgrade pip
build_test: touch .coverage
build_test: rm .coverage
build_test: coverage run --rcfile=tools/coverage_unit_tests.rc --append --source build.helper -m py.test --pyargs build.helper
build_test: flake8 --config=./tox.ini build/
test: python --version
test: python -c "import platform; print(platform.architecture())"
test: python -m pip install pip --upgrade pip
test: coverage run --rcfile=tools/coverage_unit_tests.rc --append --source nifake -m py.test bin/nifake/nifake {posargs} -s
test: coverage run --rcfile=tools/coverage_unit_tests.rc --append --source nimodinst -m py.test bin/nimodinst/nimodinst {posargs} -s
test: coverage report --rcfile=tools/coverage_unit_tests.rc
test: coverage html --rcfile=tools/coverage_unit_tests.rc --directory=bin/htmlcov/unit_tests
clean: python --version
clean: python -c "import platform; print(platform.architecture())"
clean: make clean {posargs}
codegen: python --version
codegen: python -c "import platform; print(platform.architecture())"
codegen: python -m pip install pip --upgrade pip
codegen: make {posargs} PYTHON_CMD=python
flake8: python --version
flake8: python -c "import platform; print(platform.architecture())"
flake8: python -m pip install pip --upgrade pip
flake8: flake8 --config=./tox.ini bin/
flake8: flake8 --config=./tox.ini src/nidcpower/system_tests/
flake8: flake8 --config=./tox.ini src/nidcpower/examples/
flake8: flake8 --config=./tox.ini src/nidmm/system_tests/
flake8: flake8 --config=./tox.ini src/nidmm/examples/
flake8: flake8 --config=./tox.ini src/nifgen/system_tests/
flake8: flake8 --config=./tox.ini src/nifgen/examples/
flake8: flake8 --config=./tox.ini src/niscope/system_tests/
flake8: flake8 --config=./tox.ini src/niscope/examples/
flake8: flake8 --config=./tox.ini src/niswitch/system_tests/
flake8: flake8 --config=./tox.ini src/niswitch/examples/
flake8: flake8 --config=./tox.ini src/nimodinst/system_tests/
flake8: flake8 --config=./tox.ini src/nimodinst/examples/
flake8: flake8 --config=./tox.ini src/nise/system_tests/
flake8: flake8 --config=./tox.ini src/nise/examples/
flake8: flake8 --config=./tox.ini tools/
docs: python --version
docs: python -c "import platform; print(platform.architecture())"
docs: sphinx-build -b html -d {envtmpdir}/doctrees . ../bin/docs/html {posargs}
pkg: python --version
pkg: python -c "import platform; print(platform.architecture())"
pkg: python setup.py check -m -r -s
# pkg: check-manifest --ignore tox.ini,tests*,.github,.github/*,CONTRIBUTING.rst,docs,docs/*
system_tests: python --version
system_tests: python -c "import platform; print(platform.architecture())"
system_tests: python tools/install_local_wheel.py --driver nidcpower
system_tests: python -c "import nidcpower; nidcpower.print_diagnostic_information()"
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --source nidcpower -m py.test src/nidcpower/examples --junitxml=bin/junit/junit-nidcpower-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --source nidcpower -m py.test src/nidcpower/system_tests --junitxml=bin/junit/junit-nidcpower-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver nidmm
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nidmm -m py.test src/nidmm/examples --junitxml=bin/junit/junit-dmm-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nidmm -m py.test src/nidmm/system_tests --junitxml=bin/junit/junit-dmm-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver nifgen
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nifgen -m py.test src/nifgen/examples --junitxml=bin/junit/junit-fgen-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nifgen -m py.test src/nifgen/system_tests --junitxml=bin/junit/junit-fgen-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver niscope
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source niscope -m py.test src/niscope/examples --junitxml=bin/junit/junit-scope-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source niscope -m py.test src/niscope/system_tests --junitxml=bin/junit/junit-scope-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver niswitch
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source niswitch -m py.test src/niswitch/examples --junitxml=bin/junit/junit-switch-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source niswitch -m py.test src/niswitch/system_tests --junitxml=bin/junit/junit-switch-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver nimodinst
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nimodinst -m py.test src/nimodinst/examples --junitxml=bin/junit/junit-modinst-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --append --source nimodinst -m py.test src/nimodinst/system_tests --junitxml=bin/junit/junit-modinst-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: python tools/install_local_wheel.py --driver nise
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --source nise -m py.test src/nise/examples --junitxml=bin/junit/junit-nise-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage run --rcfile=tools/coverage_system_tests.rc --source nise -m py.test src/nise/system_tests --junitxml=bin/junit/junit-nise-{envname}-{env:BITNESS:64}.xml {posargs}
system_tests: coverage report --rcfile=tools/coverage_system_tests.rc
system_tests: coverage html --rcfile=tools/coverage_system_tests.rc --directory=bin/htmlcov/system_tests
nidcpower_system_tests: python --version
nidcpower_system_tests: python -c "import platform; print(platform.architecture())"
nidcpower_system_tests: python -m pytest src/nidcpower/system_tests --json=bin/kibana/nidcpower_system_test_result.json
nidmm_system_tests: python --version
nidmm_system_tests: python -c "import platform; print(platform.architecture())"
nidmm_system_tests: python -m pytest src/nidmm/system_tests --json=bin/kibana/nidmm_system_test_result.json
nifgen_system_tests: python --version
nifgen_system_tests: python -c "import platform; print(platform.architecture())"
nifgen_system_tests: python -m pytest src/nifgen/system_tests --json=bin/kibana/nifgen_system_test_result.json
niswitch_system_tests: python --version
niswitch_system_tests: python -c "import platform; print(platform.architecture())"
niswitch_system_tests: python -m pytest src/niswitch/system_tests --json=bin/kibana/niswitch_system_test_result.json
niscope_system_tests: python --version
niscope_system_tests: python -c "import platform; print(platform.architecture())"
niscope_system_tests: python -m pytest src/niscope/system_tests --json=bin/kibana/niscope_system_test_result.json
nimodinst_system_tests: python --version
nimodinst_system_tests: python -c "import platform; print(platform.architecture())"
nimodinst_system_tests: python -m pytest src/nimodinst/system_tests --json=bin/kibana/nimodinst_system_test_result.json
nise_system_tests: python --version
nise_system_tests: python -c "import platform; print(platform.architecture())"
nise_system_tests: python -m pytest src/nise/system_tests --json=bin/kibana/nise_system_test_result.json
deps =
test: enum34;python_version<"3.4"
test: singledispatch;python_version<"3.4"
test: pytest
test: coverage
test: mock
test: mako
test: six
test: numpy<1.16
build_test: pytest
build_test: coverage
build_test: mako
build_test: flake8
build_test: hacking
build_test: pep8-naming
codegen: enum34;python_version<"3.4"
codegen: mako
codegen: wheel
codegen: setuptools
flake8: flake8
flake8: hacking
flake8: pep8-naming
docs: sphinx
docs: sphinx-rtd-theme
pkg: check-manifest
pkg: docutils
pkg: pygments
system_tests: enum34;python_version<"3.4"
system_tests: singledispatch;python_version<"3.4"
system_tests: pytest
system_tests: coverage
system_tests: six
system_tests: numpy<1.16
system_tests: scipy
nidcpower_system_tests: enum34;python_version<"3.4"
nidcpower_system_tests: singledispatch;python_version<"3.4"
nidcpower_system_tests: pytest
nidcpower_system_tests: nidcpower
nidcpower_system_tests: pytest-json
nidmm_system_tests: enum34;python_version<"3.4"
nidmm_system_tests: singledispatch;python_version<"3.4"
nidmm_system_tests: pytest
nidmm_system_tests: nidmm
nidmm_system_tests: pytest-json
nidmm_system_tests: numpy<1.16
nifgen_system_tests: enum34;python_version<"3.4"
nifgen_system_tests: singledispatch;python_version<"3.4"
nifgen_system_tests: pytest
nifgen_system_tests: nifgen
nifgen_system_tests: pytest-json
nifgen_system_tests: numpy<1.16
niscope_system_tests: enum34;python_version<"3.4"
niscope_system_tests: singledispatch;python_version<"3.4"
niscope_system_tests: pytest
niscope_system_tests: niscope
niscope_system_tests: pytest-json
niscope_system_tests: numpy<1.16
niswitch_system_tests: enum34;python_version<"3.4"
niswitch_system_tests: singledispatch;python_version<"3.4"
niswitch_system_tests: pytest
niswitch_system_tests: niswitch
niswitch_system_tests: pytest-json
nimodinst_system_tests: enum34;python_version<"3.4"
nimodinst_system_tests: singledispatch;python_version<"3.4"
nimodinst_system_tests: pytest
nimodinst_system_tests: nimodinst
nimodinst_system_tests: pytest-json
nimodinst_system_tests: six
nise_system_tests: enum34;python_version<"3.4"
nise_system_tests: singledispatch;python_version<"3.4"
nise_system_tests: pytest
nise_system_tests: nise
nise_system_tests: pytest-json
whitelist_externals =
build_test: rm
build_test: touch
codegen: make
clean: make
[flake8]
show_source = true
# We recommend setting your editor's visual guide to 79 but allow overflow to
# 160 for readability in certain cases due to generated code
# max_line_length = 160
exclude = build,docs,.tox,__pycache__,processed_metadata,.eggs
# H903: Windows style line endings not allowed in code
# E501: Line length
# W391: Blank line at end of file
ignore = H903,E501,W391
[pytest]
addopts = --verbose --doctest-modules --ignore=setup.py
norecursedirs = system_tests examples .* build dist CVS _darcs {arch} *.egg venv
junit_suite_name = nimi-python
python_files = *.py
[travis]
python =
3.6: py36-test, flake8, docs