Change-Id: I5297e96cca35d70d2696fbc7f7d66a0c1fefd3ff Signed-off-by: Yuanbin.Chen <cybing4@gmail.com>
2.1 KiB
Senlin Style Commandments
- Step 1: Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/
- Step 2: Read on
Senlin Specific Commandments
- [S318] Use assertion
assertIsNone(A)
instead ofassertEqual(A, None)
-
or
assertEqual(None, A)
.
- [S318] Use assertion
- [S319] Use
jsonutils
functions rather than using thejson
package -
directly.
- [S319] Use
- [S320] Default arguments of a method should not be mutable.
- [S321] The api_version decorator has to be the first decorator on a method.
- [S322] LOG.warn is deprecated. Enforce use of LOG.warning.
- [S323] Use assertTrue(...) rather than assertEqual(True, ...).
Working on APIs
If you are proposing new APIs or fixes to existing APIs, please spend some time reading the guidelines published by the API WorkGroup:
https://git.openstack.org/cgit/openstack/api-wg/tree/guidelines
Any work on improving Senlin's APIs to conform to the guidelines are welcomed.
Creating Unit Tests
For every new feature, unit tests should be created that both test and (implicitly) document the usage of said feature. When submitting a patch to a bug without a unit test, a new 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 and running unit tests , please read senlin/doc/source/contributor/testing.rst. Test guide online link: https://docs.openstack.org/senlin/latest/contributor/testing.html
Running Tests
The testing system is based on a combination of tox and testr. The canonical approach to running tests is to simply run the command tox. This will create virtual environments, populate them with dependencies and run all of the tests that OpenStack CI systems run.
Behind the scenes, tox is running ostestr --slowest, but is set up such that you can supply any additional arguments to the ostestr command. For example, the following command makes tox to tell ostestr to add --analyze-isolation to its argument list:
tox -- --analyze-isolation