neutron-vpnaas-dashboard/tox.ini
Akihiro Motoki 55337ba80a Use flake8-import-order plugin
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
It enforces loose checking so it sounds good to use it.
This flake8 plugin is already used in tempest.

Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.

Setup for unit tests of hacking rules is tweaked to disable
flake8-import-order checks. This extension assumes an actual file exists
and causes hacking rule unit tests.

application-import-names needs to be specified in tox.ini
to ensure application imports are placed after third-party imports.

Change-Id: If2067b950737ae7ebc65b2311955754be795758f
2017-08-29 06:52:55 +00:00

66 lines
2.0 KiB
INI

[tox]
envlist = py34,py27,pep8
minversion = 2.3.2
skipsdist = True
[testenv]
usedevelop = True
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
BRANCH_NAME=master
CLIENT_NAME=neutron-vpnaas-dashboard
NOSE_WITH_OPENSTACK=1
NOSE_OPENSTACK_COLOR=1
NOSE_OPENSTACK_RED=0.05
NOSE_OPENSTACK_YELLOW=0.025
NOSE_OPENSTACK_SHOW_ELAPSED=1
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
os:openstack/horizon:horizon
commands = {[unit_tests]commands}
[unit_tests]
commands = python manage.py test {posargs} --settings=neutron_vpnaas_dashboard.test.settings
[testenv:pep8]
commands =
flake8 {posargs}
{envpython} {toxinidir}/manage.py extract_messages --module neutron_vpnaas_dashboard --verbosity 0 --check-only
[testenv:venv]
commands = {posargs}
[testenv:cover]
commands =
coverage erase
coverage run {toxinidir}/manage.py test neutron_vpnaas_dashboard --settings=neutron_vpnaas_dashboard.test.settings {posargs}
coverage xml --omit '.tox/cover/*' -o 'cover/coverage.xml'
coverage html --omit '.tox/cover/*' -d 'cover/htmlcov'
[testenv:py27dj110]
basepython = python2.7
commands =
pip install django>=1.10,<1.11
{[unit_tests]commands}
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[flake8]
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,node_modules
# Enable the following hacking rules which are disabled by default
# H203 Use assertIs(Not)None to check for None
# H904 Delay string interpolations at logging calls
enable-extensions=H203,H904
max-complexity = 20
# flake8-import-order configurations
import-order-style = pep8
application-import-names = neutron_vpnaas_dashboard
[hacking]
local-check-factory = horizon.hacking.checks.factory