summaryrefslogtreecommitdiff
path: root/tox.ini
blob: c9ee5c84342b3a003df61debbb6f9b6ef2e7a382 (plain)
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
132
[tox]
envlist = py27,py37,pep8,cover,api-ref,releasenotes,bandit,fakemodetests,pylint
minversion = 2.0
skipsdist = True

[testenv]
setenv = VIRTUAL_ENV={envdir}
         PYTHONWARNINGS=default::DeprecationWarning
         OS_TEST_PATH=./trove/tests/unittests
         OS_STDOUT_CAPTURE=1
         OS_STDERR_CAPTURE=1

usedevelop = True
install_command = pip install \
                  -c{env:TEST_UPPER_CONSTRAINTS_FILE:{toxinidir}/test-upper-constraints.txt} \
                  -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} \
                  -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = find ./trove -type f -name "*.pyc" -delete
           rm -f trove_test.sqlite
           stestr run --serial {posargs}
           stestr slowest
whitelist_externals = find
                      rm
                      bash

[tox:jenkins]
sitepackages = True

[testenv:pep8]
basepython = python3
commands =
    flake8
    doc8 {posargs}

[testenv:fakemodetests]
basepython = python3
commands = {envpython} run_tests.py

[testenv:debug]
basepython = python3
commands = oslo_debug_helper {posargs}

[testenv:cover]
basepython = python3
setenv =
  {[testenv]setenv}
  PYTHON=coverage run --source trove
commands =
     coverage erase
     stestr run --serial {posargs}
     coverage run -a run_tests.py
     coverage html -d cover
     coverage xml -o cover/coverage.xml
     coverage report

[testenv:venv]
basepython = python3
commands = {posargs}

[doc8]
ignore-path = .venv,.tox,.git,dist,doc,*egg-info,tools,etc,build,*.po,*.pot,integration,releasenotes,*.txt,api-ref/source/samples

[flake8]
show-source = True
# H301 is ignored on purpose.
# The rest of the ignores are TODOs.
ignore = F821,H301,H404,H405,H501,E402,W503,E731
enable-extensions = H203,H106
builtins = _
# add *.yaml for playbooks/trove-devstack-base.yaml, as it will be matched by
# trove-* in the "filename" configuration.
exclude=.venv,.tox,.git,dist,doc,*egg,tools,etc,build,*.po,*.pot,integration,releasenotes,*.yaml
filename=*.py,trove-*,app.wsgi

[hacking]
import_exceptions = trove.common.i18n
local-check-factory = trove.hacking.checks.factory

[testenv:api-ref]
basepython = python3
# This environment is called from CI scripts to test and publish
# the API Ref to developer.openstack.org.
commands =
  rm -rf api-ref/build
  sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html

[testenv:releasenotes]
basepython = python3
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

[testenv:bandit]
basepython = python3
commands = bandit -r trove -n5 -x tests

[testenv:bandit-baseline]
basepython = python3
envdir = {toxworkdir}/bandit
commands = bandit-baseline -r trove -n5 -x tests -ii -ll

[testenv:genpolicy]
basepython = python3
commands = oslopolicy-sample-generator --config-file=tools/trove-policy-generator.conf

[testenv:pylint]
basepython = python3
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
commands = python tools/trove-pylint.py {posargs:check}

[testenv:docs]
basepython = python3
commands = sphinx-build -W -b html doc/source doc/build/html

[testenv:lower-constraints]
basepython = python3
deps =
  -c{toxinidir}/lower-constraints.txt
  -r{toxinidir}/test-requirements.txt
  -r{toxinidir}/requirements.txt

[testenv:trovestack]
basepython = python3
skip_install = True
changedir = {toxinidir}/integration/scripts
passenv = *
commands =
    pip install --no-binary :all: {toxinidir} \
      -c/opt/stack/trove/test-upper-constraints.txt \
      -chttps://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt
    ./trovestack {posargs}