Update hacking for Python3
The repo is Python 3 now, so update hacking to version 3.0 which supports Python 3. Fix problems found. Update local hacking checks for new flake8. Remove hacking and friends from lower-constraints, those are not needed for co-installing. Change-Id: I59f0854c089a6ed4f0c4dad7755f946dc95ada3a
This commit is contained in:
parent
1fd67089f7
commit
c096099416
|
@ -13,7 +13,7 @@
|
||||||
from keystoneauth1.access.access import * # noqa
|
from keystoneauth1.access.access import * # noqa
|
||||||
|
|
||||||
|
|
||||||
__all__ = ('AccessInfo',
|
__all__ = ('AccessInfo', # noqa: F405
|
||||||
'AccessInfoV2',
|
'AccessInfoV2', # noqa: F405
|
||||||
'AccessInfoV3',
|
'AccessInfoV3', # noqa: F405
|
||||||
'create')
|
'create') # noqa: F405
|
||||||
|
|
|
@ -77,10 +77,10 @@ def _response_xml(response, name):
|
||||||
|
|
||||||
|
|
||||||
def _str_from_xml(xml, path):
|
def _str_from_xml(xml, path):
|
||||||
l = xml.xpath(path, namespaces=_XML_NAMESPACES)
|
li = xml.xpath(path, namespaces=_XML_NAMESPACES)
|
||||||
if len(l) != 1:
|
if len(li) != 1:
|
||||||
raise IndexError('%s should provide a single element list' % path)
|
raise IndexError('%s should provide a single element list' % path)
|
||||||
return l[0]
|
return li[0]
|
||||||
|
|
||||||
|
|
||||||
class _SamlAuth(requests.auth.AuthBase):
|
class _SamlAuth(requests.auth.AuthBase):
|
||||||
|
|
|
@ -19,6 +19,8 @@ main client (keystoneauth or other). Because of this there may be dependencies
|
||||||
from this module on libraries that are only available in testing.
|
from this module on libraries that are only available in testing.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# flake8: noqa: F405
|
||||||
|
|
||||||
from keystoneauth1.fixture.discovery import * # noqa
|
from keystoneauth1.fixture.discovery import * # noqa
|
||||||
from keystoneauth1.fixture import exception
|
from keystoneauth1.fixture import exception
|
||||||
from keystoneauth1.fixture.plugin import * # noqa
|
from keystoneauth1.fixture.plugin import * # noqa
|
||||||
|
|
|
@ -21,7 +21,10 @@ errors so that core devs don't have to.
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
from hacking import core
|
||||||
|
|
||||||
|
|
||||||
|
@core.flake8ext
|
||||||
def check_oslo_namespace_imports(logical_line, blank_before, filename):
|
def check_oslo_namespace_imports(logical_line, blank_before, filename):
|
||||||
oslo_namespace_imports = re.compile(
|
oslo_namespace_imports = re.compile(
|
||||||
r"(((from)|(import))\s+oslo\.)|(from\s+oslo\s+import\s+)")
|
r"(((from)|(import))\s+oslo\.)|(from\s+oslo\s+import\s+)")
|
||||||
|
@ -31,7 +34,3 @@ def check_oslo_namespace_imports(logical_line, blank_before, filename):
|
||||||
logical_line.replace('oslo.', 'oslo_'),
|
logical_line.replace('oslo.', 'oslo_'),
|
||||||
logical_line)
|
logical_line)
|
||||||
yield(0, msg)
|
yield(0, msg)
|
||||||
|
|
||||||
|
|
||||||
def factory(register):
|
|
||||||
register(check_oslo_namespace_imports)
|
|
||||||
|
|
|
@ -213,7 +213,7 @@ class BaseGenericPlugin(base.BaseIdentityPlugin):
|
||||||
# implementation to respond with a dict without the subclass modifying
|
# implementation to respond with a dict without the subclass modifying
|
||||||
# it to add their own data in case the subclass doesn't support caching
|
# it to add their own data in case the subclass doesn't support caching
|
||||||
if not _implemented:
|
if not _implemented:
|
||||||
raise NotImplemented()
|
raise NotImplementedError()
|
||||||
|
|
||||||
return {'auth_url': self.auth_url,
|
return {'auth_url': self.auth_url,
|
||||||
'project_id': self._project_id,
|
'project_id': self._project_id,
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
# flake8: noqa: F405
|
||||||
|
|
||||||
from keystoneauth1.identity.v3.application_credential import * # noqa
|
from keystoneauth1.identity.v3.application_credential import * # noqa
|
||||||
from keystoneauth1.identity.v3.base import * # noqa
|
from keystoneauth1.identity.v3.base import * # noqa
|
||||||
from keystoneauth1.identity.v3.federation import * # noqa
|
from keystoneauth1.identity.v3.federation import * # noqa
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
# flake8: noqa: F405
|
||||||
|
|
||||||
from keystoneauth1.loading import adapter
|
from keystoneauth1.loading import adapter
|
||||||
from keystoneauth1.loading.base import * # noqa
|
from keystoneauth1.loading.base import * # noqa
|
||||||
from keystoneauth1.loading import cli
|
from keystoneauth1.loading import cli
|
||||||
|
|
|
@ -113,9 +113,9 @@ class ConfTests(utils.TestCase):
|
||||||
self.assertEqual(auth_type, e.name)
|
self.assertEqual(auth_type, e.name)
|
||||||
|
|
||||||
def test_loading_with_no_data(self):
|
def test_loading_with_no_data(self):
|
||||||
l = loading.load_auth_from_conf_options(self.conf_fixture.conf,
|
lo = loading.load_auth_from_conf_options(self.conf_fixture.conf,
|
||||||
self.GROUP)
|
self.GROUP)
|
||||||
self.assertIsNone(l)
|
self.assertIsNone(lo)
|
||||||
|
|
||||||
@mock.patch('stevedore.DriverManager')
|
@mock.patch('stevedore.DriverManager')
|
||||||
def test_other_params(self, m):
|
def test_other_params(self, m):
|
||||||
|
|
|
@ -55,14 +55,14 @@ class LoadingTests(utils.TestCase):
|
||||||
|
|
||||||
Plugin, Loader = utils.create_plugin(opts=opts)
|
Plugin, Loader = utils.create_plugin(opts=opts)
|
||||||
|
|
||||||
l = Loader()
|
lo = Loader()
|
||||||
v = uuid.uuid4().hex
|
v = uuid.uuid4().hex
|
||||||
|
|
||||||
p1 = l.load_from_options(b=v)
|
p1 = lo.load_from_options(b=v)
|
||||||
self.assertEqual(v, p1['b'])
|
self.assertEqual(v, p1['b'])
|
||||||
|
|
||||||
e = self.assertRaises(exceptions.MissingRequiredOptions,
|
e = self.assertRaises(exceptions.MissingRequiredOptions,
|
||||||
l.load_from_options,
|
lo.load_from_options,
|
||||||
a=v)
|
a=v)
|
||||||
|
|
||||||
self.assertEqual(1, len(e.options))
|
self.assertEqual(1, len(e.options))
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
import pep8
|
import pycodestyle
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
from keystoneauth1.hacking import checks
|
from keystoneauth1.hacking import checks
|
||||||
|
@ -22,16 +22,16 @@ from keystoneauth1.tests.unit import keystoneauth_fixtures
|
||||||
|
|
||||||
class TestCheckOsloNamespaceImports(testtools.TestCase):
|
class TestCheckOsloNamespaceImports(testtools.TestCase):
|
||||||
|
|
||||||
# We are patching pep8 so that only the check under test is actually
|
# We are patching pycodestyle so that only the check under test is actually
|
||||||
# installed.
|
# installed.
|
||||||
@mock.patch('pep8._checks',
|
@mock.patch('pycodestyle._checks',
|
||||||
{'physical_line': {}, 'logical_line': {}, 'tree': {}})
|
{'physical_line': {}, 'logical_line': {}, 'tree': {}})
|
||||||
def run_check(self, code):
|
def run_check(self, code):
|
||||||
pep8.register_check(checks.check_oslo_namespace_imports)
|
pycodestyle.register_check(checks.check_oslo_namespace_imports)
|
||||||
|
|
||||||
lines = textwrap.dedent(code).strip().splitlines(True)
|
lines = textwrap.dedent(code).strip().splitlines(True)
|
||||||
|
|
||||||
checker = pep8.Checker(lines=lines)
|
checker = pycodestyle.Checker(lines=lines)
|
||||||
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
|
||||||
|
|
|
@ -13,13 +13,9 @@ docutils==0.14
|
||||||
dulwich==0.19.0
|
dulwich==0.19.0
|
||||||
extras==1.0.0
|
extras==1.0.0
|
||||||
fixtures==3.0.0
|
fixtures==3.0.0
|
||||||
flake8-docstrings==0.2.1.post1
|
|
||||||
flake8-import-order==0.17.1
|
|
||||||
flake8==2.5.5
|
|
||||||
future==0.16.0
|
future==0.16.0
|
||||||
gitdb2==2.0.3
|
gitdb2==2.0.3
|
||||||
GitPython==2.1.8
|
GitPython==2.1.8
|
||||||
hacking==0.12.0
|
|
||||||
idna==2.6
|
idna==2.6
|
||||||
imagesize==1.0.0
|
imagesize==1.0.0
|
||||||
iso8601==0.1.11
|
iso8601==0.1.11
|
||||||
|
@ -46,10 +42,8 @@ packaging==17.1
|
||||||
Parsley==1.3
|
Parsley==1.3
|
||||||
pbr==2.0.0
|
pbr==2.0.0
|
||||||
pep257==0.7.0
|
pep257==0.7.0
|
||||||
pep8==1.5.7
|
|
||||||
prettytable==0.7.2
|
prettytable==0.7.2
|
||||||
pycodestyle==2.3.1
|
pycodestyle==2.3.1
|
||||||
pyflakes==0.8.1
|
|
||||||
Pygments==2.2.0
|
Pygments==2.2.0
|
||||||
pyparsing==2.2.0
|
pyparsing==2.2.0
|
||||||
pyperclip==1.6.0
|
pyperclip==1.6.0
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# 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>=3.0,<3.1.0 # Apache-2.0
|
||||||
flake8-docstrings==0.2.1.post1 # MIT
|
flake8-docstrings==0.2.1.post1 # MIT
|
||||||
flake8-import-order>=0.17.1 #LGPLv3
|
flake8-import-order>=0.17.1 #LGPLv3
|
||||||
|
|
||||||
|
|
10
tox.ini
10
tox.ini
|
@ -54,7 +54,9 @@ commands = oslo_debug_helper -t keystoneauth1/tests {posargs}
|
||||||
# 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
|
# W503 line break before binary operator
|
||||||
|
# W504 line break after binary operator
|
||||||
|
ignore = D100,D101,D102,D103,D104,D203,W503,W504
|
||||||
# H106: Don’t put vim configuration in source files
|
# H106: Don’t put vim configuration in source files
|
||||||
# H203: Use assertIs(Not)None to check for None
|
# H203: Use assertIs(Not)None to check for None
|
||||||
enable-extensions=H106,H203
|
enable-extensions=H106,H203
|
||||||
|
@ -89,8 +91,10 @@ deps =
|
||||||
-r{toxinidir}/doc/requirements.txt
|
-r{toxinidir}/doc/requirements.txt
|
||||||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||||||
|
|
||||||
[hacking]
|
[flake8:local-plugins]
|
||||||
local-check-factory = keystoneauth1.hacking.checks.factory
|
extension =
|
||||||
|
K333 = checks:check_oslo_namespace_imports
|
||||||
|
paths = ./keystoneauth1/hacking
|
||||||
|
|
||||||
[testenv:lower-constraints]
|
[testenv:lower-constraints]
|
||||||
deps =
|
deps =
|
||||||
|
|
Loading…
Reference in New Issue