From 61b7e6ec57dffedbf31050b39a995d4b798e57b9 Mon Sep 17 00:00:00 2001 From: Cedric Brandily Date: Mon, 8 Dec 2014 15:23:47 +0000 Subject: [PATCH] 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 --- neutron/hacking/checks.py | 7 ++++--- neutron/tests/unit/test_hacking.py | 7 +++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/neutron/hacking/checks.py b/neutron/hacking/checks.py index 998f345a91..f6c6a64d40 100644 --- a/neutron/hacking/checks.py +++ b/neutron/hacking/checks.py @@ -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,8 +157,9 @@ def no_translate_debug_logs(logical_line, filename): N319 """ if _directory_to_check_translation(filename): - if logical_line.startswith("LOG.debug(_("): - yield(0, "N319 Don't translate debug level logs") + for hint in _all_hints: + if logical_line.startswith("LOG.debug(%s(" % hint): + yield(0, "N319 Don't translate debug level logs") def check_assert_called_once_with(logical_line, filename): diff --git a/neutron/tests/unit/test_hacking.py b/neutron/tests/unit/test_hacking.py index ec0f9ccd5a..64f8990ce0 100644 --- a/neutron/tests/unit/test_hacking.py +++ b/neutron/tests/unit/test_hacking.py @@ -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 "