diff --git a/HACKING.rst b/HACKING.rst index 3e58dc52ad71..6a09373f715b 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -39,7 +39,7 @@ Nova Specific Commandments - [N326] Translated messages cannot be concatenated. String should be included in translated message. - [N328] Validate that LOG.info messages use _LI. - [N329] Validate that LOG.exception messages use _LE. -- [N330] Validate that LOG.warning messages use _LW. +- [N330] Validate that LOG.warning and LOG.warn messages use _LW. - [N332] Check that the api_version decorator is the first decorator on a method - [N333] Check for oslo library imports use the non-namespaced packages - [N334] Change assertTrue/False(A in/not in B, message) to the more specific diff --git a/nova/hacking/checks.py b/nova/hacking/checks.py index db6977fa63bd..a8d28de75883 100644 --- a/nova/hacking/checks.py +++ b/nova/hacking/checks.py @@ -83,9 +83,7 @@ log_translation_info = re.compile( log_translation_exception = re.compile( r"(.)*LOG\.(exception)\(\s*(_\(|'|\")") log_translation_LW = re.compile( - r"(.)*LOG\.(warning)\(\s*(_\(|'|\")") -log_warn = re.compile( - r"(.)*LOG\.(warn)\(\s*('|\"|_)") + r"(.)*LOG\.(warning|warn)\(\s*(_\(|'|\")") translated_log = re.compile( r"(.)*LOG\.(audit|error|info|critical|exception)" "\(\s*_\(\s*('|\")") @@ -357,7 +355,7 @@ def validate_log_translations(logical_line, physical_line, filename): msg = "N329: LOG.exception messages require translations `_LE()`!" if log_translation_exception.match(logical_line): yield (0, msg) - msg = "N330: LOG.warning messages require translations `_LW()`!" + msg = "N330: LOG.warning, LOG.warn messages require translations `_LW()`!" if log_translation_LW.match(logical_line): yield (0, msg) msg = "N321: Log messages require translations!" diff --git a/nova/tests/unit/test_hacking.py b/nova/tests/unit/test_hacking.py index 307ab266b671..b32b2ce7bb5b 100644 --- a/nova/tests/unit/test_hacking.py +++ b/nova/tests/unit/test_hacking.py @@ -248,7 +248,7 @@ class HackingTestCase(test.NoDBTestCase): "CONF.option = 1", "nova/compute/foo.py"))), 0) def test_log_translations(self): - logs = ['audit', 'error', 'info', 'warning', 'critical', + logs = ['audit', 'error', 'info', 'warning', 'critical', 'warn', 'exception'] levels = ['_LI', '_LW', '_LE', '_LC'] debug = "LOG.debug('OK')"