From ffdab4ea43389b94f3c1d1ead5d97870d7c3c311 Mon Sep 17 00:00:00 2001 From: Steve Martinelli Date: Tue, 3 Jan 2017 09:51:55 -0500 Subject: remove hacking checks from keystoneclient the only hacking check in keystoneclient is related to older versions of oslo libraries, which are no longer supported by keystoneclient, for example: $ pip freeze | grep oslo.utils oslo.utils==3.18.0 $ python >>> import oslo.utils Traceback (most recent call last): File "", line 1, in ImportError: No module named oslo.utils >>> import oslo_utils >>> Let's just remove the hacking check since theres no way someone could incorrectly import the older versions. Closes-Bug: 1652458 Signed-off-by: Adam Williamson Change-Id: I14165903b46d2fc26e8c9de591917893f58516db --- keystoneclient/tests/hacking/__init__.py | 0 keystoneclient/tests/hacking/checks.py | 37 -------------- keystoneclient/tests/unit/client_fixtures.py | 61 ------------------------ keystoneclient/tests/unit/test_hacking_checks.py | 50 ------------------- tox.ini | 1 - 5 files changed, 149 deletions(-) delete mode 100644 keystoneclient/tests/hacking/__init__.py delete mode 100644 keystoneclient/tests/hacking/checks.py delete mode 100644 keystoneclient/tests/unit/test_hacking_checks.py diff --git a/keystoneclient/tests/hacking/__init__.py b/keystoneclient/tests/hacking/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/keystoneclient/tests/hacking/checks.py b/keystoneclient/tests/hacking/checks.py deleted file mode 100644 index 4282698..0000000 --- a/keystoneclient/tests/hacking/checks.py +++ /dev/null @@ -1,37 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -"""python-keystoneclient's pep8 extensions. - -In order to make the review process faster and easier for core devs we are -adding some python-keystoneclient specific pep8 checks. This will catch common -errors so that core devs don't have to. - -""" - - -import re - - -def check_oslo_namespace_imports(logical_line, blank_before, filename): - oslo_namespace_imports = re.compile( - r"(((from)|(import))\s+oslo\.)|(from\s+oslo\s+import\s+)") - - if re.match(oslo_namespace_imports, logical_line): - msg = ("K333: '%s' must be used instead of '%s'.") % ( - logical_line.replace('oslo.', 'oslo_'), - logical_line) - yield(0, msg) - - -def factory(register): - register(check_oslo_namespace_imports) diff --git a/keystoneclient/tests/unit/client_fixtures.py b/keystoneclient/tests/unit/client_fixtures.py index b03f428..0e00545 100644 --- a/keystoneclient/tests/unit/client_fixtures.py +++ b/keystoneclient/tests/unit/client_fixtures.py @@ -709,67 +709,6 @@ class Examples(fixtures.Fixture): EXAMPLES_RESOURCE = testresources.FixtureResource(Examples()) -class HackingCode(fixtures.Fixture): - """A fixture to house the various code examples. - - Examples contains various keystoneclient hacking style checks. - """ - - oslo_namespace_imports = { - 'code': """ - import oslo.utils - import oslo_utils - import oslo.utils.encodeutils - import oslo_utils.encodeutils - from oslo import utils - from oslo.utils import encodeutils - from oslo_utils import encodeutils - - import oslo.serialization - import oslo_serialization - import oslo.serialization.jsonutils - import oslo_serialization.jsonutils - from oslo import serialization - from oslo.serialization import jsonutils - from oslo_serialization import jsonutils - - import oslo.config - import oslo_config - import oslo.config.cfg - import oslo_config.cfg - from oslo import config - from oslo.config import cfg - from oslo_config import cfg - - import oslo.i18n - import oslo_i18n - import oslo.i18n.log - import oslo_i18n.log - from oslo import i18n - from oslo.i18n import log - from oslo_i18n import log - """, - 'expected_errors': [ - (1, 0, 'K333'), - (3, 0, 'K333'), - (5, 0, 'K333'), - (6, 0, 'K333'), - (9, 0, 'K333'), - (11, 0, 'K333'), - (13, 0, 'K333'), - (14, 0, 'K333'), - (17, 0, 'K333'), - (19, 0, 'K333'), - (21, 0, 'K333'), - (22, 0, 'K333'), - (25, 0, 'K333'), - (27, 0, 'K333'), - (29, 0, 'K333'), - (30, 0, 'K333'), - ], - } - - class Deprecations(fixtures.Fixture): def setUp(self): super(Deprecations, self).setUp() diff --git a/keystoneclient/tests/unit/test_hacking_checks.py b/keystoneclient/tests/unit/test_hacking_checks.py deleted file mode 100644 index f1e81c9..0000000 --- a/keystoneclient/tests/unit/test_hacking_checks.py +++ /dev/null @@ -1,50 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import textwrap - -import mock -import pep8 -import testtools - -from keystoneclient.tests.hacking import checks -from keystoneclient.tests.unit import client_fixtures - - -class TestCheckOsloNamespaceImports(testtools.TestCase): - def setUp(self): - super(TestCheckOsloNamespaceImports, self).setUp() - self.useFixture(client_fixtures.Deprecations()) - - # We are patching pep8 so that only the check under test is actually - # installed. - @mock.patch('pep8._checks', - {'physical_line': {}, 'logical_line': {}, 'tree': {}}) - def run_check(self, code): - pep8.register_check(checks.check_oslo_namespace_imports) - - lines = textwrap.dedent(code).strip().splitlines(True) - - checker = pep8.Checker(lines=lines) - checker.check_all() - checker.report._deferred_print.sort() - return checker.report._deferred_print - - def assert_has_errors(self, code, expected_errors=None): - actual_errors = [e[:3] for e in self.run_check(code)] - self.assertEqual(expected_errors or [], actual_errors) - - def test(self): - code_ex = self.useFixture(client_fixtures.HackingCode()) - code = code_ex.oslo_namespace_imports['code'] - errors = code_ex.oslo_namespace_imports['expected_errors'] - self.assert_has_errors(code, expected_errors=errors) diff --git a/tox.ini b/tox.ini index efe81f8..89ab447 100644 --- a/tox.ini +++ b/tox.ini @@ -64,7 +64,6 @@ commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasen [hacking] import_exceptions = keystoneclient.i18n -local-check-factory = keystoneclient.tests.hacking.checks.factory [testenv:bindep] # Do not install any requirements. We want this to be fast and work even if -- cgit v1.2.1