added testing notes to the contributing doc

Change-Id: Ifb83469dabbca435bd3df2c05089dc1a113c4460
This commit is contained in:
John Dickinson 2014-12-02 14:55:32 -08:00 committed by Thiago da Silva
parent 07f16dc8ee
commit c8ef11d677
2 changed files with 36 additions and 1 deletions

View File

@ -15,7 +15,7 @@ not in GitHub's issue tracker.
Recommended workflow Recommended workflow
==================== ====================
* Set up a [Swift All-In-One VM](http://docs.openstack.org/developer/swift/development_saio.html). * Set up a [Swift All-In-One VM](http://docs.openstack.org/developer/swift/development_saio.html)(SAIO).
* Make your changes. Docs and tests for your patch must land before * Make your changes. Docs and tests for your patch must land before
or with your patch. or with your patch.
@ -29,6 +29,38 @@ Recommended workflow
* ``git review`` * ``git review``
Notes on Testing
================
Running the tests above against Swift in your development environment (ie
your SAIO) will catch most issues. Any patch you propose is expected to be
both tested and documented and all tests should pass.
If you want to run just a subset of the tests while you are developing, you
can use nosetests::
cd test/unit/common/middleware/ && nosetests test_healthcheck.py
To check which parts of your code are being exercised by a test, you can run
tox and then point your browser to swift/cover/index.html::
tox -e py27 -- test.unit.common.middleware.test_healthcheck:TestHealthCheck.test_healthcheck
Swift's unit tests are designed to test small parts of the code in isolation.
The functional tests validate that the entire system is working from an
external perspective (they are "black-box" tests). You can even run functional
tests against public Swift endpoints. The probetests are designed to test much
of Swift's internal processes. For example, a test may write data,
intentionally corrupt it, and then ensure that the correct processes detect
and repair it.
When your patch is submitted for code review, it will automatically be tested
on the OpenStack CI infrastructure. In addition to many of the tests above, it
will also be tested by several other OpenStack test jobs.
Once your patch has been reviewed and approved by two core reviewers and has
passed all automated tests, it will be merged into the Swift source tree.
Specs Specs
===== =====

View File

@ -31,6 +31,9 @@ swift and trying out new features and bug fixes.
You can run unit tests with `.unittests` and functional tests with You can run unit tests with `.unittests` and functional tests with
`.functests`. `.functests`.
If you would like to start contributing, check out these [notes](CONTRIBUTING.md)
to help you get started.
### Code Organization ### Code Organization
* bin/: Executable scripts that are the processes run by the deployer * bin/: Executable scripts that are the processes run by the deployer