Jump to: navigation, search

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 <jenkins@review.openstack.org>
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