SwiftCoverage

= Beginning Write Up on Coverage in Swift =

Unit Tests
Currently at 87% (as of commit 59a639c)

Every commit has a post job that runs "tox -e cover" and saves the generated report. You can find it by taking the commit's hash (NOT the ChangeId in the commit):

$ git log -1 commit 59a639c116eba2211dad722b287f9a8675a5155d Merge: fc040ef bcdafa3 Author: Jenkins  Date:  Wed Apr 30 06:16:28 2014 +0000

Merge "Sleep between object ZBF process forks"

$ wget http://logs.openstack.org/59/59a639c116eba2211dad722b287f9a8675a5155d/post/swift-coverage/a234999/cover/

The only module missing official coverage is the swift.account.replicator module which just instantiates an instance of the swift.common.db_replicator.Replicator class.

Functional tests
Currently at 54% (as of commit 59a639c)

Use "tox -e func" to get coverage using the in-process functional tests (be sure to set SWIFT_TEST_IN_PROCESS=true if you have an existing /etc/swift/test.conf in place).

Right now, the following modules are not covered at all:
 * CLI
 * swift.cli
 * swift.cli.info
 * swift.cli.recon
 * swift.cli.ringbuilder
 * Daemons
 * Account
 * swift.account.auditor
 * swift.account.reaper
 * swift.account.replicator
 * Container
 * swift.container.auditor
 * swift.container.replicator
 * swift.container.sync
 * swift.container.updater
 * Object
 * swift.obj.auditor
 * swift.obj.expirer
 * swift.obj.replicator
 * swift.obj.ssync_receiver
 * swift.obj.ssync_sender
 * swift.obj.updater
 * Common
 * swift.common.internal_client
 * swift.common.manager
 * MIddleware
 * swift.common.middleware.cname_lookup
 * swift.common.middleware.crossdomain
 * swift.common.middleware.domain_remap
 * swift.common.middleware.formpost
 * swift.common.middleware.keystoneauth
 * swift.common.middleware.list_endpoints
 * swift.common.middleware.memcache
 * swift.common.middleware.name_check
 * swift.common.middleware.recon
 * swift.common.middleware.staticweb