1[tox]
2minversion = 3.1
3envlist = py36,py38,pep8
4ignore_basepython_conflict = true
5
6[testenv]
7basepython = python3
8whitelist_externals =
9  find
10deps =
11  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
12  -r{toxinidir}/test-requirements.txt
13commands =
14  find . -type f -name "*.pyc" -delete
15  stestr run {posargs}
16  stestr slowest
17
18[testenv:pep8]
19commands =
20  flake8
21  # Run security linter
22  bandit -r oslo_log -x tests -n5
23
24[testenv:venv]
25commands = {posargs}
26
27[testenv:docs]
28whitelist_externals = rm
29deps =
30  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
31  -r{toxinidir}/doc/requirements.txt
32commands =
33  rm -fr doc/build
34  sphinx-build -a -E -W --keep-going -b html doc/source doc/build/html
35
36[testenv:releasenotes]
37whitelist_externals = rm
38deps =
39  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
40  -r{toxinidir}/doc/requirements.txt
41commands =
42  rm -rf releasenotes/build
43  sphinx-build -a -E -W --keep-going -b html releasenotes/source releasenotes/build/html
44
45[testenv:cover]
46commands =
47  coverage erase
48  {[testenv]commands}
49  coverage combine
50  coverage html -d cover
51  coverage xml -o cover/coverage.xml
52  coverage report --show-missing
53
54[testenv:bandit]
55commands = bandit -r oslo_log -x tests -n5
56
57[testenv:lower-constraints]
58deps =
59  -c{toxinidir}/lower-constraints.txt
60  -r{toxinidir}/test-requirements.txt
61  -r{toxinidir}/requirements.txt
62
63[flake8]
64# E123, E125 skipped as they are invalid PEP-8.
65# W503, W504 skipped: https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator
66show-source = True
67ignore = E123,E125,H405,W503,W504
68exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,__init__.py
69
70[hacking]
71import_exceptions = oslo_log._i18n
72