Disallow log hints in LOG.debug

Currently LOG.debug(_(...)) is disallowed but not LOG.debug(_Lx(...)).
This change disallows all log hints in LOG.debug calls.

Change-Id: I9758ad4ca9f7e8534abf38f5064b01b0c353e904
Partial-bug: #1320867
This commit is contained in:
Cedric Brandily 2014-12-08 15:23:47 +00:00
parent e264f14c79
commit 61b7e6ec57
2 changed files with 11 additions and 3 deletions

View File

@ -147,7 +147,7 @@ def no_author_tags(physical_line):
def no_translate_debug_logs(logical_line, filename):
"""Check for 'LOG.debug(_('
"""Check for 'LOG.debug(_(' and 'LOG.debug(_Lx('
As per our translation policy,
https://wiki.openstack.org/wiki/LoggingStandards#Log_Translation
@ -157,7 +157,8 @@ def no_translate_debug_logs(logical_line, filename):
N319
"""
if _directory_to_check_translation(filename):
if logical_line.startswith("LOG.debug(_("):
for hint in _all_hints:
if logical_line.startswith("LOG.debug(%s(" % hint):
yield(0, "N319 Don't translate debug level logs")

View File

@ -59,6 +59,13 @@ class HackingTestCase(base.BaseTestCase):
stmt,
filename))))
def test_no_translate_debug_logs(self):
filename = 'neutron/agent/f'
for hint in checks._all_hints:
bad = "LOG.debug(%s('bad'))" % hint
self.assertEqual(
1, len(list(checks.no_translate_debug_logs(bad, filename))))
def test_use_jsonutils(self):
def __get_msg(fun):
msg = ("N321: jsonutils.%(fun)s must be used instead of "