blob: bb5f0d7f58301559f204123b2c3eb8d24fe6c81a [file] [log] [blame]
DavidPurcell663aedf2017-01-03 10:01:14 -05001[tox]
Ghanshyam Mann51368ef2020-02-03 13:19:03 -06002minversion = 3.1.1
Vishakha Agarwal15d8f262020-05-05 13:23:05 +05303envlist = pep8,py36,py38
DavidPurcell663aedf2017-01-03 10:01:14 -05004skipsdist = True
Ghanshyam Mann51368ef2020-02-03 13:19:03 -06005ignore_basepython_conflict = True
DavidPurcell663aedf2017-01-03 10:01:14 -05006
7[testenv]
Ghanshyam Mann51368ef2020-02-03 13:19:03 -06008basepython = python3
DavidPurcell663aedf2017-01-03 10:01:14 -05009usedevelop = True
DavidPurcell663aedf2017-01-03 10:01:14 -050010setenv =
11 VIRTUAL_ENV={envdir}
Felipe Monteiro7de19052017-08-06 05:47:27 +010012 OS_TEST_PATH=./patrole_tempest_plugin/tests/unit
13 LANGUAGE=en_US
14 LC_ALL=en_US.utf-8
DavidPurcell663aedf2017-01-03 10:01:14 -050015 PYTHONWARNINGS=default::DeprecationWarning
Felipe Monteiro5fa20f72017-12-01 02:09:08 +000016passenv = 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 +000017whitelist_externals = find
Andreas Jaegerd69a6362020-04-21 07:39:05 +020018deps =
19 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
20 -r{toxinidir}/requirements.txt
21 -r{toxinidir}/test-requirements.txt
Jeremy Liue1014be2017-03-22 18:33:00 -070022commands =
DavidPurcell029d8c32017-01-06 15:27:41 -050023 find . -type f -name "*.pyc" -delete
Felipe Monteiro5fa20f72017-12-01 02:09:08 +000024 stestr --test-path ./patrole_tempest_plugin/tests/unit run {posargs}
DavidPurcell663aedf2017-01-03 10:01:14 -050025
26[testenv:pep8]
Gage Hugo0f73e7c2018-08-21 15:51:08 -050027deps =
28 -r{toxinidir}/test-requirements.txt
29commands =
30 flake8 {posargs}
31 bandit -r patrole_tempest_plugin -x patrole_tempest_plugin/tests -n 5
32 check-uuid --package patrole_tempest_plugin.tests.api
Felipe Monteirodf958702017-02-27 03:53:50 +000033
34[testenv:uuidgen]
Jeremy Liu78b19252017-04-01 16:19:09 +080035commands = check-uuid --package patrole_tempest_plugin.tests.api --fix
DavidPurcell663aedf2017-01-03 10:01:14 -050036
37[testenv:venv]
38commands = {posargs}
39
40[testenv:cover]
Joseph Abadae7d7bb2017-04-19 12:07:13 -040041commands = rm -rf *.pyc
42 rm -rf cover
43 rm -f .coverage
44 nosetests {posargs}
Felipe Monteiro1ee5f4d2017-03-04 18:07:27 +000045setenv = VIRTUAL_ENV={envdir}
46 NOSE_WITH_COVERAGE=1
47 NOSE_COVER_BRANCHES=1
48 NOSE_COVER_PACKAGE=patrole_tempest_plugin
49 NOSE_COVER_HTML=1
50 NOSE_COVER_HTML_DIR={toxinidir}/cover
51 NOSE_WHERE=patrole_tempest_plugin/tests/unit
52whitelist_externals = nosetests
Joseph Abadae7d7bb2017-04-19 12:07:13 -040053 rm
DavidPurcell663aedf2017-01-03 10:01:14 -050054
55[testenv:docs]
ghanshyam932b81d2018-03-14 02:07:33 +000056deps =
pengyuesheng8c23e7a2019-09-29 10:17:59 +080057 -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
ghanshyam932b81d2018-03-14 02:07:33 +000058 -r{toxinidir}/requirements.txt
59 -r{toxinidir}/doc/requirements.txt
60commands =
Felipe Monteiro47c43cb2018-11-05 17:15:30 +000061 rm -rf doc/build doc/source/framework/code
ghanshyam932b81d2018-03-14 02:07:33 +000062 sphinx-build -W -b html doc/source doc/build/html
63whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050064
Masayuki Igawa94e6b182019-09-18 15:08:56 +090065[testenv:pdf-docs]
Masayuki Igawa94e6b182019-09-18 15:08:56 +090066deps = {[testenv:docs]deps}
67whitelist_externals =
68 make
69commands =
70 sphinx-build -W -b latex doc/source doc/build/pdf
71 make -C doc/build/pdf
72
DavidPurcell663aedf2017-01-03 10:01:14 -050073[testenv:releasenotes]
Andreas Jaegerd69a6362020-04-21 07:39:05 +020074deps = {[testenv:docs]deps}
DavidPurcell663aedf2017-01-03 10:01:14 -050075commands =
ghanshyam932b81d2018-03-14 02:07:33 +000076 rm -rf releasenotes/build
DavidPurcell663aedf2017-01-03 10:01:14 -050077 sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
ghanshyam932b81d2018-03-14 02:07:33 +000078whitelist_externals = rm
DavidPurcell663aedf2017-01-03 10:01:14 -050079
80[testenv:debug]
HaiJieZhangae9db6f2017-03-23 11:28:16 +080081commands = oslo_debug_helper -t patrole_tempest_plugin/tests {posargs}
DavidPurcell663aedf2017-01-03 10:01:14 -050082
Felipe Monteiro098a8cd2017-09-20 21:31:27 +010083[testenv:genconfig]
84commands = 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.
Andreas Jaeger2aad8082020-03-28 19:25:15 +0100100# W504 line break after binary operator
101ignore = E123,E125,H405,W504
DavidPurcell663aedf2017-01-03 10:01:14 -0500102builtins = _
103exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
Felipe Monteiro0854ded2017-05-05 16:30:55 +0100104
Andreas Jaeger2aad8082020-03-28 19:25:15 +0100105[flake8:local-plugins]
106extension =
107 T102 = checks:import_no_clients_in_api_tests
108 T105 = checks:no_setup_teardown_class_for_tests
109 T107 = checks:service_tags_not_in_module_path
110 T108 = checks:no_hyphen_at_end_of_rand_name
111 N322 = checks:no_mutable_default_args
112 T109 = checks:no_testtools_skip_decorator
113 T113 = checks:use_rand_uuid_instead_of_uuid4
114 P100 = checks:no_rbac_rule_validation_decorator
115 P101 = checks:no_rbac_suffix_in_test_filename
116 P102 = checks:no_rbac_test_suffix_in_test_class_name
117 P103 = checks:no_client_alias_in_test_cases
118 P104 = checks:no_extension_rbac_test_suffix_in_plugin_test_class_name
119paths = ./patrole_tempest_plugin/hacking
Doug Hellmann8669a512018-03-22 17:42:03 -0400120
121[testenv:lower-constraints]
Doug Hellmann8669a512018-03-22 17:42:03 -0400122deps =
123 -c{toxinidir}/lower-constraints.txt
124 -r{toxinidir}/test-requirements.txt
125 -r{toxinidir}/requirements.txt