55337ba80a
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
66 lines
2.0 KiB
INI
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
|