cinder/HACKING.rst
Joe Gordon 242976b4b8 Cleanup and make HACKING.rst DRYer
Reference the OpenStack hacking guide in HACKING.rst and remove
duplicate entries.  Add placeholder section for cinder specific rules.
cinder specific rules can be created using hacking's local check
support.

Change-Id: Ia74da70363e3fe602405a440c1d2ec75052e9193
2013-07-13 09:16:23 -07:00

1.3 KiB

Cinder Style Commandments

Cinder Specific Commandments

General

  • Do not use locals(). Example:

    LOG.debug(_("volume %(vol_name)s: creating size %(vol_size)sG") %
              locals()) # BAD
    
    LOG.debug(_("volume %(vol_name)s: creating size %(vol_size)sG") %
              {'vol_name': vol_name,
               'vol_size': vol_size}) # OKAY
  • Use 'raise' instead of 'raise e' to preserve original traceback or exception being reraised:

    except Exception as e:
        ...
        raise e  # BAD
    
    except Exception:
        ...
        raise  # OKAY

Creating Unit Tests

For every new feature, unit tests should be created that both test and (implicitly) document the usage of said feature. If submitting a patch for a bug that had no unit test, a new passing unit test should be added. If a submitted bug fix does have a unit test, be sure to add a new one that fails without the patch and passes with the patch.

For more information on creating unit tests and utilizing the testing infrastructure in OpenStack Cinder, please read cinder/testing/README.rst.