67d2bb2616
This adds the voting and gating openstack-tox-py36 job and adds python 3.6 to the classifiers list. Change-Id: Ida2349de534399103e5d6f294a7e771910188ee4
134 lines
4.8 KiB
INI
134 lines
4.8 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = py27,py27sa07,py27sa08,py27sa09,py33,py34,py35,py36,pep8
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
whitelist_externals = bash
|
|
# Avoid psycopg2 wheel package rename warnings by not using the binary.
|
|
install_command = pip install --no-binary psycopg2 {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = bash tools/pretty_tox.sh '{posargs}'
|
|
|
|
[testenv:py27]
|
|
deps = sqlalchemy>=0.9
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py27sa07]
|
|
basepython = python2.7
|
|
deps = sqlalchemy>=0.7,<=0.7.99
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py27sa08]
|
|
basepython = python2.7
|
|
deps = sqlalchemy>=0.8,<=0.8.99
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py27sa09]
|
|
basepython = python2.7
|
|
deps = sqlalchemy>=0.9,<=0.9.99
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py33]
|
|
deps = sqlalchemy>=0.9
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py34]
|
|
deps = sqlalchemy>=0.9
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py35]
|
|
deps = sqlalchemy>=0.9
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py36]
|
|
deps = sqlalchemy>=0.9
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build doc/source doc/build/html
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
commands =
|
|
python setup.py testr --slowest --testr-args='{posargs}'
|
|
|
|
[flake8]
|
|
# E111 indentation is not a multiple of four
|
|
# E113 unexpected indentation
|
|
# E121 continuation line indentation is not a multiple of four
|
|
# E122 continuation line missing indentation or outdented
|
|
# E123 closing bracket does not match indentation of opening bracket's line
|
|
# E124 closing bracket does not match visual indentation
|
|
# E125 continuation line does not distinguish itself from next logical line
|
|
# E126 continuation line over-indented for hanging indent
|
|
# E127 continuation line over-indented for visual indent
|
|
# E128 continuation line under-indented for visual indent
|
|
# E129 visually indented line with same indent as next logical line
|
|
# E131 continuation line unaligned for hanging indent
|
|
# E202 whitespace before ')'
|
|
# E203 whitespace before ','
|
|
# E225 missing whitespace around operator
|
|
# E226 missing whitespace around arithmetic operator
|
|
# E228 missing whitespace around modulo operator
|
|
# E231 missing whitespace after ','
|
|
# E265 block comment should start with '# '
|
|
# H234 assertEquals is deprecated, use assertEqual
|
|
# E251 unexpected spaces around keyword / parameter equals
|
|
# E261 at least two spaces before inline comment
|
|
# E272 multiple spaces before keyword
|
|
# E301 expected 1 blank line, found 0
|
|
# E302 expected 2 blank lines, found 1
|
|
# E303 too many blank lines (3)
|
|
# E401 multiple imports on one line
|
|
# E501 line too long (<number-of-chars> > 79 characters)
|
|
# E502 the backslash is redundant between brackets
|
|
# E702 multiple statements on one line (semicolon)
|
|
# E712 comparison to True should be 'if cond is True:' or 'if cond:'
|
|
# F401 '<module>' imported but unused
|
|
# F403 'from migrate.exceptions import *' used; unable to detect undefined names
|
|
# F811 redefinition of unused '<type>' from line <lineno>
|
|
# F821 undefined name '<name>'
|
|
# F841 local variable '<variable>' is assigned to but never used
|
|
# H101 Use TODO(NAME)
|
|
# H201 no 'except:' at least use 'except Exception:'
|
|
# H202 assertRaises Exception too broad
|
|
# H233 Python 3.x incompatible use of print operator
|
|
# H301 one import per line
|
|
# H302 import only modules. '<import>' does not import a module
|
|
# H306 imports not in alphabetical order
|
|
# H401 docstring should not start with a space
|
|
# H402 one line docstring needs punctuation.
|
|
# H403 multi line docstring end on new line
|
|
# H404 multi line docstring should start with a summary
|
|
# H405 multi line docstring summary not separated with an empty line
|
|
# H501 Do not use locals() for string formatting
|
|
# W391 blank line at end of file
|
|
ignore = E111,E113,E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E202,E203,E225,E226,E228,E231,E251,E261,E265,E272,E301,E302,E303,E401,E501,E502,E702,E712,F401,F403,F811,F821,F841,H101,H201,H202,H233,H234,H301,H302,H306,H401,H402,H403,H404,H405,H501,W391
|
|
show-source = true
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools,build
|
|
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files, and develop mode disabled
|
|
# explicitly to avoid unnecessarily installing the checked-out repo too (this
|
|
# further relies on "tox.skipsdist = True" above).
|
|
usedevelop = False
|
|
deps = bindep
|
|
commands =
|
|
bindep test
|