neutron/tox.ini
Clark Boylan b68236d32b Run py34 tests with testr
This doesn't use os-testr but it results in html reports built from
the subunit logs.

A note from amuller: tox -e py27 uses ostestr. The primary difference
between testr and ostestr (For my money) is that ostestr spits out
progression. After a conversation with mtreinish (The author of ostestr)
it doesn't seem to be possible to use tox with ostestr for our py34
tests because we use a long regex that is split on newlines. ostestr
supports the --regex flag as such (regex_a|regex_b), however it's not
possible to use that with newlines and to play nice with tox.
Since I think that we do want to use ostestr (Just like the py27 venv),
I'll work with mtreinish to introduce a white list regex file in to
ostestr. The file will be maintained in the repo and passed in to
ostestr via tox.

Change-Id: I1f1030cca4fd356e468d15126a730725ac9c099c
2015-08-25 19:03:38 -04:00

279 lines
12 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[tox]
envlist = docs,py27,py34,pep8
minversion = 1.8
skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
passenv = TRACE_FAILONLY
usedevelop = True
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
whitelist_externals = sh
commands =
dsvm-functional: {toxinidir}/tools/deploy_rootwrap.sh {toxinidir} {envdir}/etc {envdir}/bin
ostestr --regex '{posargs}'
# there is also secret magic in ostestr which lets you run in a fail only
# mode. To do this define the TRACE_FAILONLY environmental variable.
[testenv:api]
basepython = python2.7
setenv = {[testenv]setenv}
OS_TEST_PATH=./neutron/tests/api
TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:/opt/stack/tempest/etc}
OS_TEST_API_WITH_REST=1
[testenv:common]
# Fake job to define environment variables shared between dsvm/non-dsvm jobs
setenv = OS_TEST_TIMEOUT=180
commands = false
[testenv:dsvm]
# Fake job to define environment variables shared between dsvm jobs
setenv = OS_SUDO_TESTING=1
OS_ROOTWRAP_CMD=sudo {envdir}/bin/neutron-rootwrap {envdir}/etc/neutron/rootwrap.conf
OS_ROOTWRAP_DAEMON_CMD=sudo {envdir}/bin/neutron-rootwrap-daemon {envdir}/etc/neutron/rootwrap.conf
OS_FAIL_ON_MISSING_DEPS=1
commands = false
[testenv:functional]
basepython = python2.7
setenv = {[testenv]setenv}
{[testenv:common]setenv}
OS_TEST_PATH=./neutron/tests/functional
deps =
{[testenv]deps}
-r{toxinidir}/neutron/tests/functional/requirements.txt
[testenv:dsvm-functional]
basepython = python2.7
setenv = {[testenv:functional]setenv}
{[testenv:dsvm]setenv}
sitepackages=True
deps =
{[testenv:functional]deps}
[testenv:fullstack]
setenv = {[testenv]setenv}
{[testenv:common]setenv}
OS_TEST_PATH=./neutron/tests/fullstack
deps =
{[testenv]deps}
-r{toxinidir}/neutron/tests/functional/requirements.txt
[testenv:dsvm-fullstack]
setenv = {[testenv:fullstack]setenv}
{[testenv:dsvm]setenv}
sitepackages=True
deps =
{[testenv:functional]deps}
[tox:jenkins]
sitepackages = True
downloadcache = ~/cache/pip
[testenv:pep8]
basepython = python2.7
deps =
{[testenv]deps}
commands=
# If it is easier to add a check via a shell script, consider adding it in this file
sh ./tools/misc-sanity-checks.sh
{toxinidir}/tools/check_unit_test_structure.sh
# Checks for coding and style guidelines
flake8
sh ./tools/coding-checks.sh --pylint '{posargs}'
neutron-db-manage --config-file neutron/tests/etc/neutron.conf check_migration
whitelist_externals =
sh
bash
[testenv:cover]
basepython = python2.7
commands =
python setup.py testr --coverage --testr-args='{posargs}'
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands = sphinx-build -W -b html doc/source doc/build/html
[testenv:py34]
commands = python setup.py test --testr-args='{posargs: \
neutron.tests.unit.test_context \
neutron.tests.unit.services.metering.drivers.test_iptables \
neutron.tests.unit.services.metering.agents.test_metering_agent \
neutron.tests.unit.services.test_provider_configuration \
neutron.tests.unit.plugins.ml2.drivers.mech_sriov.agent.test_sriov_nic_agent \
neutron.tests.unit.plugins.ml2.drivers.mech_sriov.agent.test_eswitch_manager \
neutron.tests.unit.plugins.ml2.drivers.mech_sriov.agent.common.test_config \
neutron.tests.unit.plugins.ml2.drivers.mech_sriov.agent.test_pci_lib \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent.ovs_test_base \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent.openflow.ovs_ofctl.test_br_phys \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent.openflow.ovs_ofctl.test_br_int \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent.openflow.ovs_ofctl.test_br_tun \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent.test_ovs_tunnel \
neutron.tests.unit.plugins.brocade.test_brocade_db \
neutron.tests.unit.plugins.brocade.test_brocade_plugin \
neutron.tests.unit.plugins.brocade.test_brocade_vlan \
neutron.tests.unit.plugins.oneconvergence.test_nvsd_agent \
neutron.tests.unit.plugins.oneconvergence.test_plugin_helper \
neutron.tests.unit.plugins.oneconvergence.test_nvsdlib \
neutron.tests.unit.plugins.ibm.test_sdnve_agent \
neutron.tests.unit.plugins.ibm.test_sdnve_api \
neutron.tests.unit.plugins.ml2.test_db \
neutron.tests.unit.plugins.ml2.test_driver_context \
neutron.tests.unit.plugins.ml2.test_port_binding \
neutron.tests.unit.plugins.ml2.test_extension_driver_api \
neutron.tests.unit.plugins.ml2.test_rpc \
neutron.tests.unit.plugins.ml2.drivers.mlnx.test_mech_mlnx \
neutron.tests.unit.plugins.ml2.drivers.openvswitch.mech_driver.test_mech_openvswitch \
neutron.tests.unit.plugins.ml2.drivers.linuxbridge.mech_driver.test_mech_linuxbridge \
neutron.tests.unit.plugins.ml2.drivers.linuxbridge.agent.test_linuxbridge_neutron_agent \
neutron.tests.unit.plugins.ml2.drivers.base_type_tunnel \
neutron.tests.unit.plugins.ml2.drivers.opendaylight.test_driver \
neutron.tests.unit.plugins.ml2.drivers.ext_test \
neutron.tests.unit.plugins.ml2.drivers.mech_sriov.mech_driver.test_mech_sriov_nic_switch \
neutron.tests.unit.plugins.ml2.drivers.mech_fake_agent \
neutron.tests.unit.plugins.ml2.drivers.test_type_vxlan \
neutron.tests.unit.plugins.ml2.drivers.test_type_gre \
neutron.tests.unit.plugins.ml2.drivers.test_helpers \
neutron.tests.unit.plugins.ml2.drivers.test_type_local \
neutron.tests.unit.plugins.ml2.drivers.mechanism_logger \
neutron.tests.unit.plugins.ml2.drivers.test_type_flat \
neutron.tests.unit.plugins.ml2.drivers.test_type_vlan \
neutron.tests.unit.plugins.ml2.drivers.mechanism_test \
neutron.tests.unit.plugins.ml2.drivers.l2pop.rpc_manager.l2population_rpc_base \
neutron.tests.unit.plugins.ml2.extensions.fake_extension \
neutron.tests.unit.plugins.ml2.drivers.l2pop.rpc_manager.test_l2population_rpc \
neutron.tests.unit.plugins.ml2.drivers.l2pop.test_mech_driver \
neutron.tests.unit.plugins.cisco.n1kv.test_n1kv_db \
neutron.tests.unit.plugins.cisco.n1kv.fake_client \
neutron.tests.unit.plugins.cisco.test_network_db \
neutron.tests.unit.quota.test_resource \
neutron.tests.unit.quota.test_resource_registry \
neutron.tests.unit.scheduler.test_l3_agent_scheduler \
neutron.tests.unit.scheduler.test_dhcp_agent_scheduler \
neutron.tests.unit.db.test_agentschedulers_db \
neutron.tests.unit.db.test_allowedaddresspairs_db \
neutron.tests.unit.db.test_ipam_backend_mixin \
neutron.tests.unit.db.test_l3_dvr_db \
neutron.tests.unit.db.test_l3_hamode_db \
neutron.tests.unit.db.test_migration \
neutron.tests.unit.db.test_agents_db \
neutron.tests.unit.db.quota.test_api \
neutron.tests.unit.db.quota.test_driver \
neutron.tests.unit.db.test_dvr_mac_db \
neutron.tests.unit.db.test_securitygroups_db \
neutron.tests.unit.debug.test_commands \
neutron.tests.unit.tests.test_post_mortem_debug \
neutron.tests.unit.tests.test_base \
neutron.tests.unit.database_stubs \
neutron.tests.unit.dummy_plugin \
neutron.tests.unit.extension_stubs \
neutron.tests.unit.testlib_api \
neutron.tests.unit.api.test_api_common \
neutron.tests.unit.api.rpc.handlers.test_dhcp_rpc \
neutron.tests.unit.api.rpc.handlers.test_securitygroups_rpc \
neutron.tests.unit.api.rpc.handlers.test_dvr_rpc \
neutron.tests.unit.api.rpc.agentnotifiers.test_dhcp_rpc_agent_api \
neutron.tests.unit.api.v2.test_attributes \
neutron.tests.unit.agent.metadata.test_agent \
neutron.tests.unit.agent.metadata.test_driver \
neutron.tests.unit.agent.metadata.test_namespace_proxy \
neutron.tests.unit.agent.test_rpc \
neutron.tests.unit.agent.test_securitygroups_rpc \
neutron.tests.unit.agent.l3.test_link_local_allocator \
neutron.tests.unit.agent.l3.test_dvr_local_router \
neutron.tests.unit.agent.l3.test_ha_router \
neutron.tests.unit.agent.l3.test_legacy_router \
neutron.tests.unit.agent.l3.test_router_info \
neutron.tests.unit.agent.l3.test_router_processing_queue \
neutron.tests.unit.agent.l3.test_namespace_manager \
neutron.tests.unit.agent.l3.test_dvr_fip_ns \
neutron.tests.unit.agent.ovsdb.native.test_helpers \
neutron.tests.unit.agent.common.test_config \
neutron.tests.unit.agent.common.test_ovs_lib \
neutron.tests.unit.agent.common.test_polling \
neutron.tests.unit.agent.common.test_utils \
neutron.tests.unit.agent.linux.test_ip_lib \
neutron.tests.unit.agent.linux.test_keepalived \
neutron.tests.unit.agent.linux.test_daemon \
neutron.tests.unit.agent.linux.test_ipset_manager \
neutron.tests.unit.agent.linux.test_iptables_firewall \
neutron.tests.unit.agent.linux.test_ebtables_manager \
neutron.tests.unit.agent.linux.test_iptables_firewall \
neutron.tests.unit.agent.linux.test_ebtables_driver \
neutron.tests.unit.agent.linux.test_polling \
neutron.tests.unit.agent.linux.test_ip_lib \
neutron.tests.unit.agent.linux.test_ip_monitor \
neutron.tests.unit.agent.linux.test_iptables_manager \
neutron.tests.unit.agent.linux.test_external_process \
neutron.tests.unit.agent.linux.test_dhcp \
neutron.tests.unit.agent.linux.test_async_process \
neutron.tests.unit.agent.linux.test_ovsdb_monitor \
neutron.tests.unit.agent.linux.test_bridge_lib \
neutron.tests.unit.agent.linux.test_ip_link_support \
neutron.tests.unit.agent.linux.test_interface \
neutron.tests.unit.agent.linux.test_utils \
neutron.tests.unit.agent.dhcp.test_agent \
neutron.tests.unit.test_manager \
neutron.tests.unit.test_service \
neutron.tests.unit.test_auth \
neutron.tests.unit.test_policy \
neutron.tests.unit.extensions.v2attributes \
neutron.tests.unit.extensions.test_address_scope \
neutron.tests.unit.extensions.test_agent \
neutron.tests.unit.extensions.test_external_net \
neutron.tests.unit.extensions.test_flavors \
neutron.tests.unit.extensions.test_l3_ext_gw_mode \
neutron.tests.unit.extensions.test_extra_dhcp_opt \
neutron.tests.unit.extensions.test_netmtu \
neutron.tests.unit.extensions.test_vlantransparent \
neutron.tests.unit.extensions.extendedattribute \
neutron.tests.unit.extensions.base \
neutron.tests.unit.extensions.foxinsocks \
neutron.tests.unit.extensions.extensionattribute \
neutron.tests.unit.extensions.test_servicetype \
neutron.tests.unit.extensions.test_portsecurity \
neutron.tests.unit.extensions.test_providernet \
neutron.tests.unit.callbacks.test_manager \
neutron.tests.unit.hacking.test_checks \
neutron.tests.unit.common.test_utils \
neutron.tests.unit.common.test_config \
neutron.tests.unit.common.test_rpc \
neutron.tests.unit.common.test_ipv6_utils \
neutron.tests.unit.cmd.test_ovs_cleanup \
neutron.tests.unit.cmd.test_netns_cleanup \
neutron.tests.unit.ipam.drivers.neutrondb_ipam.test_db_api \
neutron.tests.unit.ipam.drivers.neutrondb_ipam.test_driver \
neutron.tests.unit.ipam.test_subnet_alloc \
neutron.tests.unit.ipam.test_utils \
neutron.tests.unit.ipam.test_requests \
neutron.tests.unit.notifiers.test_nova \
neutron.tests.unit.notifiers.test_batch_notifier \
neutron.tests.unit.api.test_extensions \
neutron.tests.unit.db.test_db_base_plugin_common}'
[flake8]
# E125 continuation line does not distinguish itself from next logical line
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# E129 visually indented line with same indent as next logical line
# E265 block comment should start with #
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
ignore = E125,E126,E128,E129,E265,H404,H405
show-source = true
builtins = _
# neutron/tests/tempest needs to be excluded so long as it continues
# to be copied directly from tempest, since tempest and neutron do not
# share a flake8 configuration.
exclude = ./.*,build,dist,neutron/openstack/common/*,neutron/tests/tempest
[hacking]
import_exceptions = neutron.i18n
local-check-factory = neutron.hacking.checks.factory