summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HACKING.rst11
-rw-r--r--ceilometer/hacking/__init__.py0
-rw-r--r--ceilometer/hacking/checks.py47
-rw-r--r--ceilometer/tests/unit/test_hacking.py87
-rw-r--r--tox.ini1
5 files changed, 0 insertions, 146 deletions
diff --git a/HACKING.rst b/HACKING.rst
deleted file mode 100644
index 72668ae7..00000000
--- a/HACKING.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-Ceilometer Style Commandments
-=============================
-
-- Step 1: Read the OpenStack Style Commandments
- http://docs.openstack.org/developer/hacking/
-- Step 2: Read on
-
-Ceilometer Specific Commandments
---------------------------------
-
-- [C300] Check for oslo library imports use the non-namespaced packages
diff --git a/ceilometer/hacking/__init__.py b/ceilometer/hacking/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/ceilometer/hacking/__init__.py
+++ /dev/null
diff --git a/ceilometer/hacking/checks.py b/ceilometer/hacking/checks.py
deleted file mode 100644
index d04058a3..00000000
--- a/ceilometer/hacking/checks.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2015 Huawei Technologies Co., Ltd.
-#
-# 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.
-
-"""
-Guidelines for writing new hacking checks
-
- - Use only for Ceilometer specific tests. OpenStack general tests
- should be submitted to the common 'hacking' module.
- - Pick numbers in the range C3xx. Find the current test with
- the highest allocated number and then pick the next value.
- - Keep the test method code in the source file ordered based
- on the C3xx value.
- - List the new rule in the top level HACKING.rst file
- - Add test cases for each new rule to ceilometer/tests/test_hacking.py
-
-"""
-
-import re
-
-
-# TODO(zqfan): When other oslo libraries switch over non-namespace'd
-# imports, we need to add them to the regexp below.
-oslo_namespace_imports = re.compile(
- r"(from|import) oslo[.](concurrency|config|utils|i18n|serialization)")
-
-
-def check_oslo_namespace_imports(logical_line, physical_line, filename):
- if re.match(oslo_namespace_imports, logical_line):
- msg = ("C300: '%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/ceilometer/tests/unit/test_hacking.py b/ceilometer/tests/unit/test_hacking.py
deleted file mode 100644
index f009e68f..00000000
--- a/ceilometer/tests/unit/test_hacking.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2015 Huawei Technologies Co., Ltd.
-#
-# 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
-from testtools import testcase
-
-from ceilometer.hacking import checks
-
-
-class HackingTestCase(testcase.TestCase):
- """Test cases for ceilometer specific hacking rules.
-
- This class tests the hacking checks in ceilometer.hacking.checks by
- passing strings to the check methods like the pep8/flake8 parser would.
- The parser loops over each line in the file and then passes the parameters
- to the check method. The parameter names in the check method dictate what
- type of object is passed to the check method. The parameter types are::
-
- logical_line: A processed line with the following modifications:
- - Multi-line statements converted to a single line.
- - Stripped left and right.
- - Contents of strings replaced with "xxx" of same length.
- - Comments removed.
- physical_line: Raw line of text from the input file.
- lines: a list of the raw lines from the input file
- tokens: the tokens that contribute to this logical line
- line_number: line number in the input file
- total_lines: number of lines in the input file
- blank_lines: blank lines before this one
- indent_char: indentation character in this file (" " or "\t")
- indent_level: indentation (with tabs expanded to multiples of 8)
- previous_indent_level: indentation on previous line
- previous_logical: previous logical line
- filename: Path of the file being run through pep8
-
- When running a test on a check method the return will be False/None if
- there is no violation in the sample input. If there is an error a tuple is
- returned with a position in the line, and a message. So to check the result
- just assertTrue if the check is expected to fail and assertFalse if it
- should pass.
- """
-
- # 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, checker, filename=None):
- pep8.register_check(checker)
-
- lines = textwrap.dedent(code).strip().splitlines(True)
-
- checker = pep8.Checker(filename=filename, lines=lines)
- checker.check_all()
- checker.report._deferred_print.sort()
- return checker.report._deferred_print
-
- def _assert_has_errors(self, code, checker, expected_errors=None,
- filename=None):
- actual_errors = [e[:3] for e in
- self._run_check(code, checker, filename)]
- self.assertEqual(expected_errors or [], actual_errors)
-
- def test_oslo_namespace_imports_check(self):
- codes = [
- "from oslo.concurrency import processutils",
- "from oslo.config import cfg",
- "import oslo.i18n",
- "from oslo.utils import timeutils",
- "from oslo.serialization import jsonutils",
- ]
- for code in codes:
- self._assert_has_errors(code, checks.check_oslo_namespace_imports,
- expected_errors=[(1, 0, "C300")])
diff --git a/tox.ini b/tox.ini
index e5f19523..111c57aa 100644
--- a/tox.ini
+++ b/tox.ini
@@ -133,4 +133,3 @@ show-source = True
[hacking]
import_exceptions =
ceilometer.i18n
-local-check-factory = ceilometer.hacking.checks.factory