blob: a09822f2a98e2a2e3b3671f1f61d77e48ef54891 [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
DavidPurcell663aedf2017-01-03 10:01:14 -050025commands = flake8 {posargs}
Jeremy Liu78b19252017-04-01 16:19:09 +080026 check-uuid --package patrole_tempest_plugin.tests.api
Felipe Monteirodf958702017-02-27 03:53:50 +000027
28[testenv:uuidgen]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080029basepython = python3
Jeremy Liu78b19252017-04-01 16:19:09 +080030commands = check-uuid --package patrole_tempest_plugin.tests.api --fix
DavidPurcell663aedf2017-01-03 10:01:14 -050031
32[testenv:venv]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080033basepython = python3
DavidPurcell663aedf2017-01-03 10:01:14 -050034commands = {posargs}
35
36[testenv:cover]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080037basepython = python3
Joseph Abadae7d7bb2017-04-19 12:07:13 -040038commands = rm -rf *.pyc
39 rm -rf cover
40 rm -f .coverage
41 nosetests {posargs}
Felipe Monteiro1ee5f4d2017-03-04 18:07:27 +000042setenv = VIRTUAL_ENV={envdir}
43 NOSE_WITH_COVERAGE=1
44 NOSE_COVER_BRANCHES=1
45 NOSE_COVER_PACKAGE=patrole_tempest_plugin
46 NOSE_COVER_HTML=1
47 NOSE_COVER_HTML_DIR={toxinidir}/cover
48 NOSE_WHERE=patrole_tempest_plugin/tests/unit
49whitelist_externals = nosetests
Joseph Abadae7d7bb2017-04-19 12:07:13 -040050 rm
DavidPurcell663aedf2017-01-03 10:01:14 -050051
52[testenv:docs]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080053basepython = python3
ghanshyam932b81d2018-03-14 02:07:33 +000054deps =
55 -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
56 -r{toxinidir}/requirements.txt
57 -r{toxinidir}/doc/requirements.txt
58commands =
59 rm -rf doc/build
60 sphinx-build -W -b html doc/source doc/build/html
61whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050062
63[testenv:releasenotes]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080064basepython = python3
ghanshyam932b81d2018-03-14 02:07:33 +000065deps =
66 -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
67 -r{toxinidir}/requirements.txt
68 -r{toxinidir}/doc/requirements.txt
DavidPurcell663aedf2017-01-03 10:01:14 -050069commands =
ghanshyam932b81d2018-03-14 02:07:33 +000070 rm -rf releasenotes/build
DavidPurcell663aedf2017-01-03 10:01:14 -050071 sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
ghanshyam932b81d2018-03-14 02:07:33 +000072whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050073
74[testenv:debug]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080075basepython = python3
HaiJieZhangae9db6f2017-03-23 11:28:16 +080076commands = oslo_debug_helper -t patrole_tempest_plugin/tests {posargs}
DavidPurcell663aedf2017-01-03 10:01:14 -050077
Felipe Monteiro098a8cd2017-09-20 21:31:27 +010078[testenv:genconfig]
huang.zhiping68f4c2f2018-06-09 20:26:49 +080079basepython = python3
Felipe Monteiro098a8cd2017-09-20 21:31:27 +010080commands = oslo-config-generator --config-file etc/config-generator.patrole.conf
81
DavidPurcell663aedf2017-01-03 10:01:14 -050082[flake8]
melissaml686e0d92018-01-26 01:07:42 +080083# [H106] Don't put vim configuration in source files.
Felipe Monteirob18a3f62017-09-19 04:25:51 +010084# [H203] Use assertIs(Not)None to check for None.
85# [H204] Use assert(Not)Equal to check for equality.
86# [H205] Use assert(Greater|Less)(Equal) for comparison.
melissaml686e0d92018-01-26 01:07:42 +080087# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
Felipe Monteirob18a3f62017-09-19 04:25:51 +010088# [H904] Delay string interpolations at logging calls.
89enable-extensions = H106,H203,H204,H205,H210,H904
DavidPurcell663aedf2017-01-03 10:01:14 -050090show-source = True
Felipe Monteiro4bf66a22017-05-07 14:44:21 +010091# E123, E125 skipped as they are invalid PEP-8.
Felipe Monteirof6eb8622017-08-06 06:08:02 +010092#
93# H405 is another one that is good as a guideline, but sometimes
94# multiline doc strings just don't have a natural summary
95# line. Rejecting code for this reason is wrong.
96ignore = E123,E125,H405
DavidPurcell663aedf2017-01-03 10:01:14 -050097builtins = _
98exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
Felipe Monteiro0854ded2017-05-05 16:30:55 +010099
100[hacking]
101local-check-factory = patrole_tempest_plugin.hacking.checks.factory
Doug Hellmann8669a512018-03-22 17:42:03 -0400102
103[testenv:lower-constraints]
104basepython = python3
105deps =
106 -c{toxinidir}/lower-constraints.txt
107 -r{toxinidir}/test-requirements.txt
108 -r{toxinidir}/requirements.txt