跳转到: 导航, 搜索

SwiftCoverage

Swift 代码覆盖率编写开始

单元测试

当前为 87% (截至提交 59a639c)

每个提交都会运行一个 post job,执行 "tox -e cover" 并保存生成的报告。可以通过获取提交的哈希值(而不是提交中的 ChangeId)来找到它。

$ 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/

唯一缺少官方覆盖率的模块是 swift.account.replicator 模块,它只是实例化 swift.common.db_replicator.Replicator 类的一个实例。

功能测试

当前为 54% (截至提交 59a639c)

使用 "tox -e func" 可以获得使用进程内功能测试的代码覆盖率(如果已经存在 /etc/swift/test.conf,请确保设置 SWIFT_TEST_IN_PROCESS=true)。

目前,以下模块完全没有覆盖

  • CLI
    • swift.cli
    • swift.cli.info
    • swift.cli.recon
    • swift.cli.ringbuilder
  • 守护进程
    • 账户
      • swift.account.auditor
      • swift.account.reaper
      • swift.account.replicator
    • 容器
      • swift.container.auditor
      • swift.container.replicator
      • swift.container.sync
      • swift.container.updater
    • 对象
      • swift.obj.auditor
      • swift.obj.expirer
      • swift.obj.replicator
      • swift.obj.ssync_receiver
      • swift.obj.ssync_sender
      • swift.obj.updater
  • 通用
    • swift.common.internal_client
    • swift.common.manager
  • 中间件
    • 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