summaryrefslogtreecommitdiff
path: root/HACKING.rst
diff options
context:
space:
mode:
authorkairoaraujo <kairo@kairo.eti.br>2016-02-18 23:19:41 -0200
committerkairoaraujo <kairo@kairo.eti.br>2016-02-22 12:46:44 -0300
commit05063795724a23e42b3cb8ccc1c2e454c1ed51d2 (patch)
tree373e9caf935a2069e5e307a143ab44e7a47b84a7 /HACKING.rst
parent73e141b4cbb38e7e2c0001baaec8f54f3c3235c7 (diff)
downloadceilometer-05063795724a23e42b3cb8ccc1c2e454c1ed51d2.tar.gz
Initial seed of hacking
It is an initial seed of hacking rules based on neutron and nova projects. For ceilometer it prevents bug 1508442 and closes/prevents bug 1529836. All the requirements about the hacking rules were corrected on this propose review. To be clear about the requirements, the only alarmed was about import[1], in specific H306 [H306] "Alphabetically order your imports by the full module path. Organize your imports" [1] http://docs.openstack.org/developer/hacking/ Change-Id: Ia530873078c97925bfb91fde87b38131426a74c2 Closes-Bug: 1529836
Diffstat (limited to 'HACKING.rst')
-rw-r--r--HACKING.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/HACKING.rst b/HACKING.rst
new file mode 100644
index 00000000..9b765901
--- /dev/null
+++ b/HACKING.rst
@@ -0,0 +1,27 @@
+Ceilometer Style Commandments
+=============================
+
+- Step 1: Read the OpenStack Style Commandments
+ http://docs.openstack.org/developer/hacking/
+- Step 2: Read on
+
+Ceilometer Specific Commandments
+--------------------------------
+
+- [C301] LOG.warn() is not allowed. Use LOG.warning()
+- [C302] Deprecated library function os.popen()
+
+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.
+
+All unittest classes must ultimately inherit from testtools.TestCase.
+
+All setUp and tearDown methods must upcall using the super() method.
+tearDown methods should be avoided and addCleanup calls should be preferred.
+Never manually create tempfiles. Always use the tempfile fixtures from
+the fixture library to ensure that they are cleaned up.