-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy pathtox.ini
95 lines (87 loc) · 1.85 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
[tox]
envlist = docs,lint,py3-{test}
minversion = 4
[gh-actions]
python =
3.9: py3
3.10: py3
3.11: py3
3.12: py3
3.13: py3
[testenv]
envdir = {toxworkdir}/py3-test
deps =
pytest>=7.3.1
pytest-xdist>=3.3.1
extras =
neo
h5py
usedevelop=True
commands =
pytest -sx -n auto tests
[testenv:coverage]
envdir = {toxworkdir}/py3-coverage
setenv =
EFEL_COVERAGE_BUILD = 1
deps =
setuptools>=69.0.3
pytest>=7.3.1
pytest-cov>=4.1.0
coverage>=7.3.0
gcovr
allowlist_externals =
make
rm
extras =
neo
h5py
usedevelop=True
commands =
make clean
python setup.py build_ext --inplace
pytest -sx --cov=efel --cov=tests --cov-report=xml tests
gcovr --print-summary -r . --xml -o cpp_coverage.xml
rm -f ./*.gcov
coverage report -m
[testenv:examples]
envdir={toxworkdir}/{envname}
deps =
pytest>=7.3.1
nbmake
deap
matplotlib
bluepyopt
NEURON>=8.0.2,<9.0.0
bluecellulab
allowlist_externals =
make
./.compile_mod.sh
setenv =
NEURON_MODULE_OPTIONS='-nogui'
OMP_NUM_THREADS=1
commands =
make clean
./.compile_mod.sh . examples/sonata-network/mechanisms
pytest --nbmake examples
[testenv:docs]
usedevelop=True # to access local rst files
envdir = {toxworkdir}/docs
deps =
-r{toxinidir}/requirements_docs.txt
pytest>=7.4.4
allowlist_externals =
sh
commands =
sh docs/examples_to_rst.sh
# build the docs to see if it builds fine
sphinx-build -b html -W docs/source docs/_build/html
# make sure the feature names and units are up-to-date
pytest docs/test_feature_units_in_docs.py
[testenv:lint]
envdir = {toxworkdir}/lint
deps =
pycodestyle>=2.11.0
mypy>=1.8.0,<1.12
commands =
pycodestyle --ignore=E402,W503,W504 --exclude=_version.py --max-line-length=88 efel tests
mypy efel tests --ignore-missing-imports