Merge "Add HACKING.rst and hacking test case."
This commit is contained in:
commit
bc6a3663cb
13
HACKING.rst
Normal file
13
HACKING.rst
Normal file
@ -0,0 +1,13 @@
|
||||
Kolla Style Commandments
|
||||
============================
|
||||
|
||||
- Step 1: Read the OpenStack Style Commandments
|
||||
http://docs.openstack.org/developer/hacking/
|
||||
- Step 2: Read on
|
||||
|
||||
|
||||
Kolla Specific Commandments
|
||||
-------------------------------
|
||||
|
||||
- [K301] Method's default argument shouldn't be mutable.
|
||||
- [K302] Use LOG.warning instead of LOG.warn.
|
@ -21,16 +21,16 @@ def no_log_warn(logical_line):
|
||||
|
||||
Deprecated LOG.warn(), instead use LOG.warning
|
||||
https://bugs.launchpad.net/senlin/+bug/1508442
|
||||
N352
|
||||
K302
|
||||
"""
|
||||
|
||||
msg = ("N352: LOG.warn is deprecated, please use LOG.warning!")
|
||||
msg = ("K302: LOG.warn is deprecated, please use LOG.warning!")
|
||||
if "LOG.warn(" in logical_line:
|
||||
yield (0, msg)
|
||||
|
||||
|
||||
def no_mutable_default_args(logical_line):
|
||||
msg = "N301: Method's default argument shouldn't be mutable!"
|
||||
msg = "K301: Method's default argument shouldn't be mutable!"
|
||||
if mutable_default_args.match(logical_line):
|
||||
yield (0, msg)
|
||||
|
||||
|
46
kolla/tests/test_hacking.py
Normal file
46
kolla/tests/test_hacking.py
Normal file
@ -0,0 +1,46 @@
|
||||
# Copyright 2016 GohighSec
|
||||
#
|
||||
# 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 ddt
|
||||
|
||||
from kolla.hacking import checks
|
||||
from kolla.tests import base
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class HackingTestCase(base.TestCase):
|
||||
"""Hacking test cases
|
||||
|
||||
This class tests the hacking checks in kolla.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.
|
||||
"""
|
||||
|
||||
def test_no_log_warn_check(self):
|
||||
self.assertEqual(0, len(list(checks.no_log_warn(
|
||||
"LOG.warning('This should not trigger LOG.warn"
|
||||
"hacking check.')"))))
|
||||
self.assertEqual(1, len(list(checks.no_log_warn(
|
||||
"LOG.warn('We should not use LOG.warn')"))))
|
||||
|
||||
def test_no_mutable_default_args(self):
|
||||
self.assertEqual(1, len(list(checks.no_mutable_default_args(
|
||||
"def get_info_from_bdm(virt_type, bdm, mapping=[])"))))
|
||||
|
||||
self.assertEqual(0, len(list(checks.no_mutable_default_args(
|
||||
"defined = []"))))
|
||||
|
||||
self.assertEqual(0, len(list(checks.no_mutable_default_args(
|
||||
"defined, undefined = [], {}"))))
|
@ -4,6 +4,7 @@
|
||||
bandit>=1.1.0 # Apache-2.0
|
||||
bashate>=0.2 # Apache-2.0
|
||||
beautifulsoup4 # MIT
|
||||
ddt>=1.0.1 # MIT
|
||||
doc8 # Apache-2.0
|
||||
extras # MIT
|
||||
graphviz!=0.5.0,>=0.4.0 # MIT License
|
||||
|
Loading…
x
Reference in New Issue
Block a user