File: tox.ini

package info (click to toggle)
python-openstackclient 8.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 10,872 kB
  • sloc: python: 131,970; makefile: 140; sh: 22
file content (121 lines) | stat: -rw-r--r-- 3,641 bytes parent folder | download | duplicates (2)
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
[tox]
minversion = 4.3.0
envlist = py3,pep8

[testenv]
description =
    Run unit tests.
usedevelop = true
setenv =
    OS_STDOUT_CAPTURE=1
    OS_STDERR_CAPTURE=1
    OS_TEST_TIMEOUT=60
deps =
    -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
    -r{toxinidir}/test-requirements.txt
    -r{toxinidir}/requirements.txt
commands =
    stestr run {posargs}

[testenv:pep8]
description =
    Run style checks.
skip_install = true
deps =
    pre-commit
commands =
    pre-commit run --all-files --show-diff-on-failure

[testenv:bandit]
description =
    Run bandit security checks.
skip_install = true
deps =
    pre-commit
commands =
    pre-commit run --all-files --show-diff-on-failure bandit

[testenv:unit-tips]
commands =
    python -m pip install -q -U -e {toxinidir}/../cliff#egg=cliff
    python -m pip install -q -U -e {toxinidir}/../keystoneauth#egg=keystoneauth
    python -m pip install -q -U -e {toxinidir}/../osc-lib#egg=osc_lib
    python -m pip install -q -U -e {toxinidir}/../openstacksdk#egg=openstacksdk
    python -m pip freeze
    stestr run {posargs}

[testenv:functional{,-tips,-py38,-py39,-py310,-py311,-py312}]
description =
    Run functional tests.
setenv =
    OS_TEST_PATH=./openstackclient/tests/functional
passenv =
    OS_*
commands =
    tips: python -m pip install -q -U -e {toxinidir}/../cliff#egg=cliff
    tips: python -m pip install -q -U -e {toxinidir}/../keystoneauth#egg=keystoneauth1
    tips: python -m pip install -q -U -e {toxinidir}/../osc-lib#egg=osc_lib
    tips: python -m pip install -q -U -e {toxinidir}/../openstacksdk#egg=openstacksdk
    tips: python -m pip freeze
    {[testenv]commands}

[testenv:venv]
description =
    Run specified command in a virtual environment with all dependencies installed.
deps =
    -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/doc/requirements.txt
commands =
    {posargs}

[testenv:cover]
description =
    Run unit tests and generate coverage report.
setenv =
    {[testenv]setenv}
    PYTHON=coverage run --source openstackclient --parallel-mode
commands =
    stestr run {posargs}
    coverage combine
    coverage html -d cover
    coverage xml -o cover/coverage.xml

[testenv:debug]
description =
    Run specified tests through oslo_debug_helper, which allows use of pdb.
passenv =
    OS_*
commands =
    oslo_debug_helper -t openstackclient/tests {posargs}

[testenv:docs]
description =
    Build documentation in HTML format.
deps =
    -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
    -r{toxinidir}/doc/requirements.txt
commands =
    sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
    sphinx-build -a -E -W -d doc/build/doctrees -b man doc/source doc/build/man
    # Validate redirects (must be done after the docs build
    whereto doc/build/html/.htaccess doc/test/redirect-tests.txt

[testenv:releasenotes]
description =
    Build release note documentation in HTML format.
deps =
    -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
    -r{toxinidir}/doc/requirements.txt
commands =
    sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[flake8]
show-source = true
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tools,releasenotes
# We only enable the hacking (H) checks
select = H
# H301 Black will put commas after imports that can't fit on one line
ignore = H301
import-order-style = pep8
application_import_names = openstackclient