glance/HACKING.rst
ChangBo Guo(gcb) 27539859ec Remove use of contextlib.nested
The contextlib.nested call has been deprecated
in Python 2.7. This causes DeprecationWarning
messages in the unit tests.

There are also known issues with contextlib.nested
that were addressed by the native support for
multiple "with" variables. For instance, if the
first object is created but the second one throws
an exception, the first object's __exit__ is never
called. For more information see
https://docs.python.org/2/library/contextlib.html#contextlib.nested
contextlib.nested is also not compatible in Python 3.

Since Glance no longer supports 2.6 we can remove
the use of these contextlib.nested calls.

Added hacking check to catch if any new instances
are added to the codebase.

Closes-Bug: #1428424
Change-Id: Ic8edfa41d6c468cf6db8d11d3533e4f8cf2053c2
2015-03-18 20:20:33 +08:00

1.0 KiB

glance Style Commandments =======================

glance Specific Commandments --------------------------

  • [G316] Change assertTrue(isinstance(A, B)) by optimal assert like assertIsInstance(A, B)
  • [G317] Change assertEqual(type(A), B) by optimal assert like assertIsInstance(A, B)
  • [G318] Change assertEqual(A, None) or assertEqual(None, A) by optimal assert like assertIsNone(A)
  • [G319] Validate that debug level logs are not translated
  • [G320] For python 3 compatibility, use six.text_type() instead of unicode()
  • [G321] Validate that LOG messages, except debug ones, have translations
  • [G322] Validate that LOG.info messages use _LI.
  • [G323] Validate that LOG.exception messages use _LE.
  • [G324] Validate that LOG.error messages use _LE.
  • [G325] Validate that LOG.critical messages use _LC.
  • [G326] Validate that LOG.warning messages use _LW.
  • [G327] Prevent use of deprecated contextlib.nested