octavia.hacking package¶
Submodules¶
octavia.hacking.checks module¶
Guidelines for writing new hacking checks
- Use only for Octavia specific tests. OpenStack general tests should be submitted to the common ‘hacking’ module.
- Pick numbers in the range O3xx. Find the current test with the highest allocated number and then pick the next value.
- Keep the test method code in the source file ordered based on the O3xx value.
- List the new rule in the top level HACKING.rst file
- Add test cases for each new rule to octavia/tests/unit/test_hacking.py
-
assert_equal_in
(logical_line)[source]¶ Check for assertEqual(A in B, True), assertEqual(True, A in B),
assertEqual(A in B, False) or assertEqual(False, A in B) sentences
O338
-
assert_equal_or_not_none
(logical_line)[source]¶ Check for assertEqual(A, None) or assertEqual(None, A) sentences,
assertNotEqual(A, None) or assertNotEqual(None, A) sentences
O318
-
assert_equal_true_or_false
(logical_line)[source]¶ Check for assertEqual(True, A) or assertEqual(False, A) sentences
O323
-
check_line_continuation_no_backslash
(logical_line, tokens)[source]¶ O346 - Don’t use backslashes for line continuation.
Parameters: - logical_line – The logical line to check. Not actually used.
- tokens – List of tokens to check.
Returns: None if the tokens don’t contain any issues, otherwise a tuple is yielded that contains the offending index in the logical line and a message describe the check validation failure.
-
check_no_eventlet_imports
(logical_line)[source]¶ O345 - Usage of Python eventlet module not allowed.
Parameters: logical_line – The logical line to check. Returns: None if the logical line passes the check, otherwise a tuple is yielded that contains the offending index in logical line and a message describe the check validation failure.
-
check_no_logging_imports
(logical_line)[source]¶ O348 - Usage of Python logging module not allowed.
Parameters: logical_line – The logical line to check. Returns: None if the logical line passes the check, otherwise a tuple is yielded that contains the offending index in logical line and a message describe the check validation failure.
-
check_raised_localized_exceptions
(logical_line, filename)[source]¶ O342 - Untranslated exception message.
Parameters: - logical_line – The logical line to check.
- filename – The file name where the logical line exists.
Returns: None if the logical line passes the check, otherwise a tuple is yielded that contains the offending index in logical line and a message describe the check validation failure.
-
no_translate_logs
(logical_line, filename)[source]¶ O341 - Don’t translate logs.
Check for ‘LOG.*(_(‘ and ‘LOG.*(_Lx(‘
Translators don’t provide translations for log messages, and operators asked not to translate them.
- This check assumes that ‘LOG’ is a logger.
Parameters: - logical_line – The logical line to check.
- filename – The file name where the logical line exists.
Returns: None if the logical line passes the check, otherwise a tuple is yielded that contains the offending index in logical line and a message describe the check validation failure.
-
revert_must_have_kwargs
(logical_line)[source]¶ O347 - Taskflow revert methods must have **kwargs.
Parameters: logical_line – The logical line to check. Returns: None if the logical line passes the check, otherwise a tuple is yielded that contains the offending index in logical line and a message describe the check validation failure.