forked from holoviz/panel
-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
75 lines (63 loc) · 2.76 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
# For use with pyct (https://github.com/pyviz/pyct), but just standard
# tox config (works with tox alone).
[tox]
# python version test group extra envs extra commands
envlist = {py38,py39,py310,py311}-{flakes,unit,ui,unit_deploy,examples,all_recommended,deprecations}-{default}-{dev,pkg}
build = wheel
[_flakes]
description = Flake check python and notebooks
deps = .[tests]
commands = flake8
[_unit]
description = Run unit tests
deps = .[tests]
commands = pytest panel --cov=./panel --cov-report=xml -n logical --dist loadgroup
[_unit_deploy]
description = Run unit tests without coverage
deps = .[tests]
commands = pytest panel
[_ui]
description = Run UI tests
deps = .[tests, ui]
; Read the .uicoveragerc file to set the concurrency library to greenlet
; when the test suite relies on playwright, see
; https://github.com/microsoft/playwright-python/issues/313
commands = pytest panel --cov=./panel --cov-report=xml --cov-config=.uicoveragerc --ui --jupyter --browser chromium
[_examples]
description = Test that default examples run
deps = .[recommended, tests]
; Not running clifford_interact as h5py install was corrupted on Python 3.7, see https://github.com/h5py/h5py/issues/1880.
; To remove when Python 3.7 is dropped or the issue is fixed upstream.
commands = pytest panel --docs
pytest -n logical --dist loadscope --nbval-lax examples/reference examples/gallery --ignore-glob="*VTK*.ipynb" --ignore-glob="*Vega.ipynb" --ignore-glob="*DeckGL.ipynb" --ignore-glob="*Terminal.ipynb" --ignore-glob="*DatePicker.ipynb"
[_all_recommended]
description = Run all recommended tests
deps = .[recommended, tests]
commands = {[_flakes]commands}
{[_unit]commands}
{[_examples]commands}
[_deprecations]
description = Unit tests, but DeprecationWarnings and FutureWarnings are errors
deps = .[tests]
# Not yet sure how people use these in reality vs what's in the docs (there's also PendingDeprecationWarning)
commands = pytest panel -W error::DeprecationWarning -W error::FutureWarning
[testenv]
changedir = {envtmpdir}
commands = unit: {[_unit]commands}
unit_deploy: {[_unit_deploy]commands}
ui: {[_ui]commands}
flakes: {[_flakes]commands}
examples: {[_examples]commands}
all_recommended: {[_all_recommended]commands}
deprecations: {[_deprecations]commands}
deps = unit: {[_unit]deps}
unit_deploy: {[_unit_deploy]deps}
ui: {[_ui]commands}
flakes: {[_flakes]deps}
examples: {[_examples]deps}
all_recommended: {[_all_recommended]deps}
deprecations: {[_deprecations]commands}
[pytest]
addopts = -v --pyargs --doctest-ignore-import-errors
norecursedirs = doc .git dist build _build .ipynb_checkpoints panel/examples
xfail_strict = true