-
Notifications
You must be signed in to change notification settings - Fork 102
/
tox.ini
76 lines (65 loc) · 1.75 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
# 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"
# (pre ubuntu 24.04 -- otherwise consider using pipx or apt instead of pip)
# and then run "tox" from this directory.
[tox]
skipsdist=True
[testenv]
use_develop = True
# This should work, but doesn't. Hence the deps= below
# extras = dev
deps =
.[dev]
passenv =
HOME
TEST_AGENTS
LXD_DIR
JUJU_NEW_WAIT_FOR_IDLE
[testenv:docs]
deps =
.[dev,docs]
allowlist_externals = rm
commands =
rm -rf docs/_build/
sphinx-build -b html docs/ docs/_build/
[testenv:integration]
envdir = {toxworkdir}/py3
commands =
pytest \
--tb native \
-k 'integration' \
--ignore {toxinidir}/tests/integration/test_crossmodel.py \
--ignore {toxinidir}/tests/integration/test_model.py \
-m 'not serial' \
{posargs}
[testenv:integration-quarantine]
envdir = {toxworkdir}/py3
commands =
pytest \
--log-level=DEBUG \
--tb native \
-m 'not serial' \
{posargs} \
{toxinidir}/tests/integration/test_crossmodel.py \
{toxinidir}/tests/integration/test_model.py
[testenv:unit]
envdir = {toxworkdir}/py3
commands =
pytest {toxinidir}/tests/unit {posargs}
[testenv:serial]
# tests that can't be run in parallel
# there's one test marked with 'serial'
# it doesn't get run in CI
envdir = {toxworkdir}/py3
commands =
pytest --tb native {posargs:-m 'serial'}
[testenv:validate]
envdir = {toxworkdir}/validate
commands = pytest -vvv tests/validate
[testenv:example]
envdir = {toxworkdir}/py3
commands = python {posargs}
[flake8]
exclude = juju/client/_*
ignore = E501,W504,E402