Add hacking check to ensure not use xrange()
Added hacking check to ensure not to use xrange. Also, fixed issues with EoF missing newline [W391]. Change-Id: Iba8d240c042e46cb34eb6ed057534d62efb6f903 Closes-Bug: #1538118
This commit is contained in:
parent
972cdba6ee
commit
8d0b16292d
@ -23,6 +23,7 @@ Octavia Specific Commandments
|
||||
assertEqual(A in B, False) or assertEqual(False, A in B) to the more
|
||||
specific assertIn/NotIn(A, B)
|
||||
- [O339] LOG.warn() is not allowed. Use LOG.warning()
|
||||
- [O340] Don't use xrange()
|
||||
|
||||
Creating Unit Tests
|
||||
-------------------
|
||||
|
@ -73,6 +73,8 @@ assert_not_equal_end_with_none_re = re.compile(
|
||||
r"(.)*assertNotEqual\(.+, None\)")
|
||||
assert_not_equal_start_with_none_re = re.compile(
|
||||
r"(.)*assertNotEqual\(None, .+\)")
|
||||
assert_no_xrange_re = re.compile(
|
||||
r"\s*xrange\s*\(")
|
||||
|
||||
|
||||
def _directory_to_check_translation(filename):
|
||||
@ -209,6 +211,15 @@ def no_log_warn(logical_line):
|
||||
yield(0, "O339:Use LOG.warning() rather than LOG.warn()")
|
||||
|
||||
|
||||
def no_xrange(logical_line):
|
||||
"""Disallow 'xrange()'
|
||||
|
||||
O340
|
||||
"""
|
||||
if assert_no_xrange_re.match(logical_line):
|
||||
yield(0, "O340: Do not use xrange().")
|
||||
|
||||
|
||||
def factory(register):
|
||||
register(assert_true_instance)
|
||||
register(assert_equal_or_not_none)
|
||||
@ -220,3 +231,4 @@ def factory(register):
|
||||
register(no_mutable_default_args)
|
||||
register(assert_equal_in)
|
||||
register(no_log_warn)
|
||||
register(no_xrange)
|
||||
|
@ -135,3 +135,10 @@ class HackingTestCase(base.BaseTestCase):
|
||||
|
||||
self.assertEqual(0, len(list(checks.no_log_warn(
|
||||
"LOG.warning()"))))
|
||||
|
||||
def test_no_xrange(self):
|
||||
self.assertEqual(1, len(list(checks.no_xrange(
|
||||
"xrange(45)"))))
|
||||
|
||||
self.assertEqual(0, len(list(checks.no_xrange(
|
||||
"range(45)"))))
|
||||
|
Loading…
x
Reference in New Issue
Block a user