blob: ea9abf10a09b9fe116757493f6304f1007c27a51 [file] [log] [blame]
DavidPurcell663aedf2017-01-03 10:01:14 -05001[tox]
DavidPurcell029d8c32017-01-06 15:27:41 -05002minversion = 1.6
Felipe Monteirodf958702017-02-27 03:53:50 +00003envlist = pep8,py35,py27
DavidPurcell663aedf2017-01-03 10:01:14 -05004skipsdist = True
5
6[testenv]
7usedevelop = True
8install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
9setenv =
10 VIRTUAL_ENV={envdir}
Felipe Monteiro7de19052017-08-06 05:47:27 +010011 OS_TEST_PATH=./patrole_tempest_plugin/tests/unit
12 LANGUAGE=en_US
13 LC_ALL=en_US.utf-8
DavidPurcell663aedf2017-01-03 10:01:14 -050014 PYTHONWARNINGS=default::DeprecationWarning
Felipe Monteiro5fa20f72017-12-01 02:09:08 +000015passenv = OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_TEST_TIMEOUT OS_TEST_LOCK_PATH http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
Felipe Monteirodf958702017-02-27 03:53:50 +000016whitelist_externals = find
DavidPurcell029d8c32017-01-06 15:27:41 -050017deps = -r{toxinidir}/requirements.txt
18 -r{toxinidir}/test-requirements.txt
Jeremy Liue1014be2017-03-22 18:33:00 -070019commands =
DavidPurcell029d8c32017-01-06 15:27:41 -050020 find . -type f -name "*.pyc" -delete
Felipe Monteiro5fa20f72017-12-01 02:09:08 +000021 stestr --test-path ./patrole_tempest_plugin/tests/unit run {posargs}
DavidPurcell663aedf2017-01-03 10:01:14 -050022
23[testenv:pep8]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080024basepython = python3
Gage Hugo0f73e7c2018-08-21 15:51:08 -050025deps =
26 -r{toxinidir}/test-requirements.txt
27commands =
28 flake8 {posargs}
29 bandit -r patrole_tempest_plugin -x patrole_tempest_plugin/tests -n 5
30 check-uuid --package patrole_tempest_plugin.tests.api
Felipe Monteirodf958702017-02-27 03:53:50 +000031
32[testenv:uuidgen]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080033basepython = python3
Jeremy Liu78b19252017-04-01 16:19:09 +080034commands = check-uuid --package patrole_tempest_plugin.tests.api --fix
DavidPurcell663aedf2017-01-03 10:01:14 -050035
36[testenv:venv]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080037basepython = python3
DavidPurcell663aedf2017-01-03 10:01:14 -050038commands = {posargs}
39
40[testenv:cover]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080041basepython = python3
Joseph Abadae7d7bb2017-04-19 12:07:13 -040042commands = rm -rf *.pyc
43 rm -rf cover
44 rm -f .coverage
45 nosetests {posargs}
Felipe Monteiro1ee5f4d2017-03-04 18:07:27 +000046setenv = VIRTUAL_ENV={envdir}
47 NOSE_WITH_COVERAGE=1
48 NOSE_COVER_BRANCHES=1
49 NOSE_COVER_PACKAGE=patrole_tempest_plugin
50 NOSE_COVER_HTML=1
51 NOSE_COVER_HTML_DIR={toxinidir}/cover
52 NOSE_WHERE=patrole_tempest_plugin/tests/unit
53whitelist_externals = nosetests
Joseph Abadae7d7bb2017-04-19 12:07:13 -040054 rm
DavidPurcell663aedf2017-01-03 10:01:14 -050055
56[testenv:docs]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080057basepython = python3
ghanshyam932b81d2018-03-14 02:07:33 +000058deps =
59 -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
60 -r{toxinidir}/requirements.txt
61 -r{toxinidir}/doc/requirements.txt
62commands =
63 rm -rf doc/build
64 sphinx-build -W -b html doc/source doc/build/html
65whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050066
67[testenv:releasenotes]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080068basepython = python3
ghanshyam932b81d2018-03-14 02:07:33 +000069deps =
70 -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
71 -r{toxinidir}/requirements.txt
72 -r{toxinidir}/doc/requirements.txt
DavidPurcell663aedf2017-01-03 10:01:14 -050073commands =
ghanshyam932b81d2018-03-14 02:07:33 +000074 rm -rf releasenotes/build
DavidPurcell663aedf2017-01-03 10:01:14 -050075 sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
ghanshyam932b81d2018-03-14 02:07:33 +000076whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050077
78[testenv:debug]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080079basepython = python3
HaiJieZhangae9db6f2017-03-23 11:28:16 +080080commands = oslo_debug_helper -t patrole_tempest_plugin/tests {posargs}
DavidPurcell663aedf2017-01-03 10:01:14 -050081
Felipe Monteiro098a8cd2017-09-20 21:31:27 +010082[testenv:genconfig]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080083basepython = python3
Felipe Monteiro098a8cd2017-09-20 21:31:27 +010084commands = oslo-config-generator --config-file etc/config-generator.patrole.conf
85
DavidPurcell663aedf2017-01-03 10:01:14 -050086[flake8]
melissaml686e0d92018-01-26 01:07:42 +080087# [H106] Don't put vim configuration in source files.
Felipe Monteirob18a3f62017-09-19 04:25:51 +010088# [H203] Use assertIs(Not)None to check for None.
89# [H204] Use assert(Not)Equal to check for equality.
90# [H205] Use assert(Greater|Less)(Equal) for comparison.
melissaml686e0d92018-01-26 01:07:42 +080091# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
Felipe Monteirob18a3f62017-09-19 04:25:51 +010092# [H904] Delay string interpolations at logging calls.
93enable-extensions = H106,H203,H204,H205,H210,H904
DavidPurcell663aedf2017-01-03 10:01:14 -050094show-source = True
Felipe Monteiro4bf66a22017-05-07 14:44:21 +010095# E123, E125 skipped as they are invalid PEP-8.
Felipe Monteirof6eb8622017-08-06 06:08:02 +010096#
97# H405 is another one that is good as a guideline, but sometimes
98# multiline doc strings just don't have a natural summary
99# line. Rejecting code for this reason is wrong.
100ignore = E123,E125,H405
DavidPurcell663aedf2017-01-03 10:01:14 -0500101builtins = _
102exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
Felipe Monteiro0854ded2017-05-05 16:30:55 +0100103
104[hacking]
105local-check-factory = patrole_tempest_plugin.hacking.checks.factory
Doug Hellmann8669a512018-03-22 17:42:03 -0400106
107[testenv:lower-constraints]
108basepython = python3
109deps =
110 -c{toxinidir}/lower-constraints.txt
111 -r{toxinidir}/test-requirements.txt
112 -r{toxinidir}/requirements.txt