Use pycodestyle in place of pep8
The lower version of pycodestyle lib (aliased to pep8) doesn't work for py36 env. This commit unblocks the py36 gate by adding a dependency on pycodestyle and using that for style checks. Bump the "hacking" lib version to v1.1.0 which depends on a higher verion of pycodestyle. Change-Id: I3fc591e09c1e25a3bd2a3922880772ea9617f1e3
This commit is contained in:

committed by
Lance Bragstad

parent
b7c8738822
commit
090886902c
@@ -19,8 +19,8 @@ so that core devs don't have to.
|
|||||||
There are two types of pep8 extensions. One is a function that takes either
|
There are two types of pep8 extensions. One is a function that takes either
|
||||||
a physical or logical line. The physical or logical line is the first param
|
a physical or logical line. The physical or logical line is the first param
|
||||||
in the function definition and can be followed by other parameters supported
|
in the function definition and can be followed by other parameters supported
|
||||||
by pep8. The second type is a class that parses AST trees. For more info
|
by pycodestyle. The second type is a class that parses AST trees. For more info
|
||||||
please see pep8.py.
|
please see pycodestyle.py.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import ast
|
import ast
|
||||||
|
@@ -12,13 +12,7 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
try:
|
import pycodestyle
|
||||||
import pep8
|
|
||||||
except ImportError:
|
|
||||||
# NTOE(stevemar): pycodestyle is not yet in global-requirements, but
|
|
||||||
# packagers have begun pycodestyle (the renamed version of pep8)
|
|
||||||
# See: https://github.com/PyCQA/pycodestyle/issues/466
|
|
||||||
import pycodestyle as pep8
|
|
||||||
|
|
||||||
from keystone.tests.hacking import checks
|
from keystone.tests.hacking import checks
|
||||||
from keystone.tests import unit
|
from keystone.tests import unit
|
||||||
@@ -41,14 +35,14 @@ class BaseStyleCheck(unit.BaseTestCase):
|
|||||||
return hacking_fixtures.HackingCode()
|
return hacking_fixtures.HackingCode()
|
||||||
|
|
||||||
def run_check(self, code):
|
def run_check(self, code):
|
||||||
pep8.register_check(self.get_checker())
|
pycodestyle.register_check(self.get_checker())
|
||||||
|
|
||||||
lines = textwrap.dedent(code).strip().splitlines(True)
|
lines = textwrap.dedent(code).strip().splitlines(True)
|
||||||
|
|
||||||
# Load all keystone hacking checks, they are of the form Kddd,
|
# Load all keystone hacking checks, they are of the form Kddd,
|
||||||
# where ddd can from range from 000-999
|
# where ddd can from range from 000-999
|
||||||
guide = pep8.StyleGuide(select='K')
|
guide = pycodestyle.StyleGuide(select='K')
|
||||||
checker = pep8.Checker(lines=lines, options=guide.options)
|
checker = pycodestyle.Checker(lines=lines, options=guide.options)
|
||||||
checker.check_all()
|
checker.check_all()
|
||||||
checker.report._deferred_print.sort()
|
checker.report._deferred_print.sort()
|
||||||
return checker.report._deferred_print
|
return checker.report._deferred_print
|
||||||
|
@@ -12,7 +12,7 @@ flake8==2.5.5
|
|||||||
Flask===1.0.2
|
Flask===1.0.2
|
||||||
Flask-RESTful===0.3.5
|
Flask-RESTful===0.3.5
|
||||||
freezegun==0.3.6
|
freezegun==0.3.6
|
||||||
hacking==0.12.0
|
hacking==1.1.0
|
||||||
iso8601==0.1.12
|
iso8601==0.1.12
|
||||||
jsonschema==2.6.0
|
jsonschema==2.6.0
|
||||||
keystoneauth1==3.4.0
|
keystoneauth1==3.4.0
|
||||||
@@ -43,9 +43,9 @@ osprofiler==1.4.0
|
|||||||
passlib==1.7.0
|
passlib==1.7.0
|
||||||
pbr==2.0.0
|
pbr==2.0.0
|
||||||
pep257==0.7.0
|
pep257==0.7.0
|
||||||
pep8==1.5.7
|
|
||||||
pika==0.10.0
|
pika==0.10.0
|
||||||
pycadf==1.1.0
|
pycadf==1.1.0
|
||||||
|
pycodestyle==2.0.0
|
||||||
python-ldap===3.0.0
|
python-ldap===3.0.0
|
||||||
pymongo===3.0.2
|
pymongo===3.0.2
|
||||||
pysaml2==4.5.0
|
pysaml2==4.5.0
|
||||||
|
@@ -2,8 +2,9 @@
|
|||||||
# of appearance. Changing the order has an impact on the overall integration
|
# of appearance. Changing the order has an impact on the overall integration
|
||||||
# process, which may cause wedges in the gate later.
|
# process, which may cause wedges in the gate later.
|
||||||
|
|
||||||
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
|
hacking>=1.1.0,<1.2.0 # Apache-2.0
|
||||||
pep257==0.7.0 # MIT License
|
pep257==0.7.0 # MIT License
|
||||||
|
pycodestyle>=2.0.0 # MIT License
|
||||||
flake8-docstrings==0.2.1.post1 # MIT
|
flake8-docstrings==0.2.1.post1 # MIT
|
||||||
bashate>=0.5.1 # Apache-2.0
|
bashate>=0.5.1 # Apache-2.0
|
||||||
os-testr>=1.0.0 # Apache-2.0
|
os-testr>=1.0.0 # Apache-2.0
|
||||||
|
8
tox.ini
8
tox.ini
@@ -32,7 +32,7 @@ deps =
|
|||||||
.[bandit]
|
.[bandit]
|
||||||
{[testenv]deps}
|
{[testenv]deps}
|
||||||
commands =
|
commands =
|
||||||
flake8
|
flake8 --ignore=D100,D101,D102,D103,D104,E305,E402,E501,W503,W504,W605,E731
|
||||||
# Run bash8 during pep8 runs to ensure violations are caught by
|
# Run bash8 during pep8 runs to ensure violations are caught by
|
||||||
# the check and gate queues
|
# the check and gate queues
|
||||||
bashate devstack/plugin.sh
|
bashate devstack/plugin.sh
|
||||||
@@ -117,7 +117,11 @@ enable-extensions = H203,H904
|
|||||||
# D103: Missing docstring in public function
|
# D103: Missing docstring in public function
|
||||||
# D104: Missing docstring in public package
|
# D104: Missing docstring in public package
|
||||||
# D203: 1 blank line required before class docstring (deprecated in pep257)
|
# D203: 1 blank line required before class docstring (deprecated in pep257)
|
||||||
ignore = D100,D101,D102,D103,D104,D203
|
# TODO(wxy): Fix the pep8 issue.
|
||||||
|
# E402: module level import not at top of file
|
||||||
|
# W503: line break before binary operator
|
||||||
|
# E731: do not assign a lambda expression, use a def
|
||||||
|
ignore = D100,D101,D102,D103,D104,D203,E402,W503,E731
|
||||||
|
|
||||||
exclude=.venv,.git,.tox,build,dist,*lib/python*,*egg,tools,vendor,.update-venv,*.ini,*.po,*.pot
|
exclude=.venv,.git,.tox,build,dist,*lib/python*,*egg,tools,vendor,.update-venv,*.ini,*.po,*.pot
|
||||||
max-complexity=24
|
max-complexity=24
|
||||||
|
Reference in New Issue
Block a user