73 lines
2.1 KiB
INI
Raw Normal View History

[tox]
minversion = 1.6
envlist = py27,pep8
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}'
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[testenv:functional]
sitepackages = True
setenv = OS_TEST_PATH=./magnum/tests/functional
OS_TEST_TIMEOUT=7200
deps =
{[testenv]deps}
[testenv:pep8]
commands =
flake8 {posargs}
[testenv:venv]
commands = {posargs}
[testenv:bandit]
deps = -r{toxinidir}/test-requirements-bandit.txt
commands = bandit -c bandit.yaml -r magnum -n5 -p magnum_conservative
[testenv:cover]
commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:genconfig]
commands =
oslo-config-generator --output-file etc/magnum/magnum.conf.sample \
--namespace magnum \
--namespace oslo.concurrency \
--namespace oslo.db \
--namespace oslo.log \
--namespace oslo.messaging \
--namespace oslo.policy \
--namespace oslo.service.periodic_task \
--namespace oslo.service.service \
--namespace keystonemiddleware.auth_token
[flake8]
# E711 is ignored because it is normal to use "column == None" in sqlalchemy
# The rest of the ignores are TODOs
# New from hacking 0.9: E129, E131, H407, H405, H904
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
ignore = E131,E251,H405,E711
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools,magnum/common/pythonk8sclient
Add missing dependencies (from pip-missing-reqs) Any explicit imports we have in magnum, we should specify the pypi package version number in our requirements. The pip-missing-reqs helps us find these. Note that python-dateutil is an optional import in the python-k8sclient AND it's not in the global requirements so not adding that. Here are the references to the imports for the packages we are adding here: alembic ------- magnum/db/sqlalchemy/alembic/env.py:15 dist=alembic module=alembic.context magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py:26 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py:28 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py:26 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py:28 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/migration.py:19 dist=alembic module=alembic magnum/db/sqlalchemy/migration.py:20 dist=alembic module=alembic.config magnum/db/sqlalchemy/migration.py:21 dist=alembic module=alembic.migration eventlet -------- magnum/common/rpc_service.py:17 dist=eventlet module=eventlet magnum/openstack/common/eventlet_backdoor.py:29 dist=eventlet module=eventlet.backdoor magnum/openstack/common/loopingcall.py:22 dist=eventlet module=eventlet.event magnum/openstack/common/loopingcall.py:23 dist=eventlet module=eventlet.greenthread magnum/openstack/common/service.py:36 dist=eventlet module=eventlet magnum/openstack/common/service.py:37 dist=eventlet module=eventlet.event magnum/openstack/common/threadgroup.py:17 dist=eventlet module=eventlet magnum/openstack/common/threadgroup.py:18 dist=eventlet module=eventlet.greenpool iso8601 ------- magnum/objects/utils.py:20 dist=iso---- module=iso8601 stevedore --------- magnum/db/migration.py:20 dist=stevedore module=stevedore.driver webob ----- magnum/api/middleware/parsable_error.py:24 dist=webob module=webob greenlet -------- magnum/openstack/common/eventlet_backdoor.py:30 dist=greenlet module=greenlet prettytable ----------- magnum/openstack/common/cliutils.py:29 dist=prettytable module=prettytable pyyaml ------ magnum/common/yamlutils.py:13 dist=pyyaml module=yaml We explicitly don't add setuptools in this review as none of the openstack projects add setuptools, please see notes here: http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt#n259 Closes-Bug: #1455695 Change-Id: Ia3f69801b230db1165ed21556a139b775c81d027
2015-05-15 20:10:49 -04:00
[hacking]
local-check-factory = magnum.hacking.checks.factory
Add missing dependencies (from pip-missing-reqs) Any explicit imports we have in magnum, we should specify the pypi package version number in our requirements. The pip-missing-reqs helps us find these. Note that python-dateutil is an optional import in the python-k8sclient AND it's not in the global requirements so not adding that. Here are the references to the imports for the packages we are adding here: alembic ------- magnum/db/sqlalchemy/alembic/env.py:15 dist=alembic module=alembic.context magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py:26 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py:28 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py:26 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py:28 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py:25 dist=alembic module=alembic.op magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py:24 dist=alembic module=alembic.op magnum/db/sqlalchemy/migration.py:19 dist=alembic module=alembic magnum/db/sqlalchemy/migration.py:20 dist=alembic module=alembic.config magnum/db/sqlalchemy/migration.py:21 dist=alembic module=alembic.migration eventlet -------- magnum/common/rpc_service.py:17 dist=eventlet module=eventlet magnum/openstack/common/eventlet_backdoor.py:29 dist=eventlet module=eventlet.backdoor magnum/openstack/common/loopingcall.py:22 dist=eventlet module=eventlet.event magnum/openstack/common/loopingcall.py:23 dist=eventlet module=eventlet.greenthread magnum/openstack/common/service.py:36 dist=eventlet module=eventlet magnum/openstack/common/service.py:37 dist=eventlet module=eventlet.event magnum/openstack/common/threadgroup.py:17 dist=eventlet module=eventlet magnum/openstack/common/threadgroup.py:18 dist=eventlet module=eventlet.greenpool iso8601 ------- magnum/objects/utils.py:20 dist=iso---- module=iso8601 stevedore --------- magnum/db/migration.py:20 dist=stevedore module=stevedore.driver webob ----- magnum/api/middleware/parsable_error.py:24 dist=webob module=webob greenlet -------- magnum/openstack/common/eventlet_backdoor.py:30 dist=greenlet module=greenlet prettytable ----------- magnum/openstack/common/cliutils.py:29 dist=prettytable module=prettytable pyyaml ------ magnum/common/yamlutils.py:13 dist=pyyaml module=yaml We explicitly don't add setuptools in this review as none of the openstack projects add setuptools, please see notes here: http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt#n259 Closes-Bug: #1455695 Change-Id: Ia3f69801b230db1165ed21556a139b775c81d027
2015-05-15 20:10:49 -04:00
[testenv:pip-missing-reqs]
# do not install test-requirements as that will pollute the virtualenv for
# determining missing packages
# this also means that pip-missing-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_missing_reqs
-rrequirements.txt
commands=pip-missing-reqs -d --ignore-file=magnum/tests/* magnum