-
Notifications
You must be signed in to change notification settings - Fork 5
/
tox.ini
131 lines (121 loc) · 4.58 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
[tox]
envlist = flake8, py{39,310,311}, py{39,310,311}-data, benchmark, benchmark-cuda{101,102,110}, mypy
[testenv]
commands=
pytest --durations=10 --cov=libertem_live --cov-report=term --cov-report=html --cov-report=xml --cov-config=setup.cfg --junitxml=junit.xml {posargs:tests/}
deps=
-rtest_requirements.txt
# Inject release candidates for testing
-roverride_requirements.txt
cuda101: cupy-cuda101
cuda102: cupy-cuda102
cuda110: cupy-cuda110
setenv=
# Using pytest in combination with tox on files that are part of the installed package
# leads to collisions between the local source tree and the installed package when running tests.
# See https://github.com/pytest-dev/pytest/issues/2042
PY_IGNORE_IMPORTMISMATCH=1
# Debug asyncio problems - has some perf overhead, so only enable if there is a problem
# PYTHONASYNCIODEBUG=1
# Dask configuration to reduce background load:
DASK_DISTRIBUTED__ADMIN__TICK__INTERVAL=1000
DASK_DISTRIBUTED__SCHEDULER__WORK_STEALING_INTERVAL=1000
DASK_DISTRIBUTED__WORKER__PROFILE__CYCLE=60000
DASK_DISTRIBUTED__WORKER__PROFILE__INTERVAL=30000
LIBERTEM_DECTRIS_LOG_LEVEL=warn
LIBERTEM_QD_LOG_LEVEL=info
RUST_BACKTRACE=1
passenv=
DASK_SCHEDULER_ADDRESS
TESTDATA_BASE_PATH
[testenv:py{39,310,311}-data]
deps=
-rtest_requirements.txt
# Inject release candidates for testing
-roverride_requirements.txt
commands=
pytest --durations=10 --cov=libertem_live --cov-report=term --cov-report=html --cov-report=xml --cov-config=setup.cfg --junitxml=junit.xml -m data {posargs:tests} -s -vvv
pytest --doctest-modules --ignore=src/libertem_live/detectors/merlin/tango_server.py src/libertem_live/ -s
[testenv:notebooks]
deps=
-rtest_requirements.txt
# Inject release candidates for testing
-roverride_requirements.txt
nbval
nbqa
allowlist_externals={toxinidir}/ci/run-with-sim.sh
commands=
{toxinidir}/ci/run-with-sim.sh pytest --durations=10 --cov=libertem_live --cov-report=term --cov-config=setup.cfg --cov-report=html --cov-report=xml --junitxml=junit.xml --nbval --nbval-sanitize-with nbval_sanitize.cfg -p no:python --nbval-current-env {posargs:examples/}
passenv=
TESTDATA_BASE_PATH
[testenv:benchmark]
changedir={toxinidir}
commands=
pytest --benchmark-enable --benchmark-warmup=on --benchmark-autosave --benchmark-storage "{toxinidir}/benchmark_results" -m "not compilation" {posargs:benchmarks/}
pytest --benchmark-enable --benchmark-warmup=off --benchmark-autosave --benchmark-storage "{toxinidir}/benchmark_results" -m "compilation" {posargs:benchmarks/}
[testenv:benchmark-cuda{101,102}]
changedir={toxinidir}
commands=
{[testenv:benchmark]commands}
[testenv:mypy]
changedir={toxinidir}
deps =
mypy
commands =
mypy src/libertem_live
skip_install=True
[testenv:docs]
changedir={toxinidir}
basepython=python3
allowlist_externals=
make
setenv=
PYTHONPATH={toxinidir}
commands=
sphinx-autobuild -b html "{toxinidir}/docs/source" "{toxinidir}/docs/build/html" --port 8010 {posargs} -j auto
deps=
-rdocs_requirements.txt
# Inject release candidates for doctest testing
-roverride_requirements.txt
skipsdist=True
# just a non-watching version of the docs environment above, also building twice for bibs
[testenv:docs-build-ci]
changedir={toxinidir}
basepython=python3
setenv=
PYTHONPATH={toxinidir}
commands=
# Two runs to get complete bibliography. The first one will throw warnings about missing
# citations.
sphinx-build -j auto -b html "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
sphinx-build -j auto -W -b html "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
deps=
-rdocs_requirements.txt
# Inject release candidates for doctest testing
-roverride_requirements.txt
skipsdist=True
passenv=
HOME
[testenv:docs-check]
changedir={toxinidir}
basepython=python3
setenv=
PYTHONPATH={toxinidir}
commands=
# Two runs to get complete bibliography. The first one will throw warnings about missing
# citations.
sphinx-build -j auto -b html "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
sphinx-build -j auto -W -b html "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
sphinx-build -j auto -b doctest "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
# sphinx-build -b linkcheck "{toxinidir}/docs/source" "{toxinidir}/docs/build/html"
# cat docs/build/html/output.txt
deps=
-rdocs_requirements.txt
# Inject release candidates for doctest testing
-roverride_requirements.txt
skipsdist=True
allowlist_externals=
cat
passenv=
HOME
TESTDATA_BASE_PATH