summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Martinelli <s.martinelli@gmail.com>2017-01-03 09:51:55 -0500
committerSteve Martinelli <s.martinelli@gmail.com>2017-01-06 16:56:18 +0000
commitffdab4ea43389b94f3c1d1ead5d97870d7c3c311 (patch)
tree126a44db7a0702f2f4cbf8bc0f0ca60d97a4c391
parent004450040c38a0df05469b844ba30854b67aabd5 (diff)
downloadpython-keystoneclient-ffdab4ea43389b94f3c1d1ead5d97870d7c3c311.tar.gz
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 "<stdin>", line 1, in <module> 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 <awilliam@redhat.com> Change-Id: I14165903b46d2fc26e8c9de591917893f58516db
-rw-r--r--keystoneclient/tests/hacking/__init__.py0
-rw-r--r--keystoneclient/tests/hacking/checks.py37
-rw-r--r--keystoneclient/tests/unit/client_fixtures.py61
-rw-r--r--keystoneclient/tests/unit/test_hacking_checks.py50
-rw-r--r--tox.ini1
5 files changed, 0 insertions, 149 deletions
diff --git a/keystoneclient/tests/hacking/__init__.py b/keystoneclient/tests/hacking/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/keystoneclient/tests/hacking/__init__.py
+++ /dev/null
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