
pyc files for old code files and test files won't get removed from the local tree when those files are removed. They will still be discovered and used when running tox tests. This removes pyc files before running tests to ensure that test results are repeatble by end users even if they are updating older git trees. Closes-Bug: #1551312 Change-Id: I9987cc57dc9ac2bd0331af6cb59e2c5e137d9849
138 lines
3.9 KiB
INI
138 lines
3.9 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py34,py27,pep8,docs,genconfig,releasenotes
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
.[ldap,memcache,mongodb]
|
|
commands =
|
|
find keystone -type f -name "*.pyc" -delete
|
|
bash tools/pretty_tox.sh '{posargs}'
|
|
whitelist_externals = bash
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY PBR_VERSION
|
|
|
|
[testenv:py34]
|
|
commands =
|
|
find keystone -type f -name "*.pyc" -delete
|
|
bash tools/pretty_tox_py3.sh
|
|
|
|
[testenv:legacy_drivers]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
nose
|
|
.[ldap,memcache,mongodb]
|
|
commands =
|
|
# Run each legacy test separately, to avoid SQL model redefinitions
|
|
find keystone -type f -name "*.pyc" -delete
|
|
nosetests -v \
|
|
keystone/tests/unit/backend/legacy_drivers/assignment/V8/sql.py
|
|
nosetests -v \
|
|
keystone/tests/unit/backend/legacy_drivers/role/V8/sql.py
|
|
nosetests -v \
|
|
keystone/tests/unit/backend/legacy_drivers/federation/V8/api_v3.py
|
|
nosetests -v \
|
|
keystone/tests/unit/backend/legacy_drivers/resource/V8/sql.py
|
|
|
|
[testenv:pep8]
|
|
deps =
|
|
.[bandit]
|
|
{[testenv]deps}
|
|
commands =
|
|
flake8
|
|
# Run bash8 during pep8 runs to ensure violations are caught by
|
|
# the check and gate queues
|
|
bashate examples/pki/gen_pki.sh
|
|
# Check that .po and .pot files are valid.
|
|
bash -c "find keystone -type f -regex '.*\.pot?' -print0| \
|
|
xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
# Run security linter
|
|
bandit -r keystone
|
|
|
|
[testenv:bandit]
|
|
# NOTE(browne): This is required for the integration test job of the bandit
|
|
# project. Please do not remove.
|
|
deps = .[bandit]
|
|
commands = bandit -r keystone
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
find keystone -type f -name "*.pyc" -delete
|
|
python setup.py testr --coverage --testr-args='{posargs}'
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:debug]
|
|
commands =
|
|
find keystone -type f -name "*.pyc" -delete
|
|
oslo_debug_helper {posargs}
|
|
passenv =
|
|
KSTEST_ADMIN_URL
|
|
KSTEST_ADMIN_USERNAME
|
|
KSTEST_ADMIN_PASSWORD
|
|
KSTEST_ADMIN_DOMAIN_ID
|
|
KSTEST_PUBLIC_URL
|
|
KSTEST_USER_USERNAME
|
|
KSTEST_USER_PASSWORD
|
|
KSTEST_USER_DOMAIN_ID
|
|
KSTEST_PROJECT_ID
|
|
|
|
[testenv:functional]
|
|
basepython = python3.4
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
setenv = OS_TEST_PATH=./keystone/tests/functional
|
|
commands =
|
|
find keystone -type f -name "*.pyc" -delete
|
|
python setup.py testr --slowest --testr-args='{posargs}'
|
|
passenv =
|
|
KSTEST_ADMIN_URL
|
|
KSTEST_ADMIN_USERNAME
|
|
KSTEST_ADMIN_PASSWORD
|
|
KSTEST_ADMIN_DOMAIN_ID
|
|
KSTEST_PUBLIC_URL
|
|
KSTEST_USER_USERNAME
|
|
KSTEST_USER_PASSWORD
|
|
KSTEST_USER_DOMAIN_ID
|
|
KSTEST_PROJECT_ID
|
|
|
|
[flake8]
|
|
filename= *.py,keystone-all,keystone-manage
|
|
show-source = true
|
|
|
|
# D100: Missing docstring in public module
|
|
# D101: Missing docstring in public class
|
|
# D102: Missing docstring in public method
|
|
# D103: Missing docstring in public function
|
|
# D104: Missing docstring in public package
|
|
# D105: Missing docstring in magic method
|
|
# D202: No blank lines allowed after docstring.
|
|
# D203: 1 blank required before class docstring.
|
|
# D205: Blank line required between one-line summary and description.
|
|
# D400: First line should end with a period.
|
|
# D401: First line should be in imperative mood.
|
|
ignore = D100,D101,D102,D103,D104,D105,D203,D205,D400,D401
|
|
|
|
exclude=.venv,.git,.tox,build,dist,doc,*openstack/common*,*lib/python*,*egg,tools,vendor,.update-venv,*.ini,*.po,*.pot
|
|
max-complexity=24
|
|
|
|
[testenv:docs]
|
|
commands=
|
|
bash -c "rm -rf doc/build"
|
|
bash -c "rm -rf doc/source/api"
|
|
python setup.py build_sphinx
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:genconfig]
|
|
commands = oslo-config-generator --config-file=config-generator/keystone.conf
|
|
|
|
[hacking]
|
|
import_exceptions =
|
|
keystone.i18n
|
|
six.moves
|
|
local-check-factory = keystone.tests.hacking.checks.factory
|