报告提交的(以前运行的)覆盖率结果。

commit-coverage的Python项目详细描述


这允许您评估回购协议中所做更改的覆盖范围。它 准备向上推送代码以供上游审阅时使用。

用法

作为使用此脚本的先决条件,在repo中运行coverage,以 在 回购树。这个覆盖应该在 向上传输(工作目录中的内容,或 承诺本地回购)。

行为

假设您有一个包含未提交更改的repo,则可以运行以下命令 如下所示:

commit_coverage /opt/stack/networking-cisco

参数必须是在 “cover”子目录。

默认情况下,这将创建工作目录与 最新提交(head),最多有三行上下文。输出将 对照覆盖范围数据和生成的报告进行检查。以下是 输出如下:

devstack/csr1kv/cisco_neutron (No coverage data)

networking_cisco/apps/saf/agent/dfa_agent.py (No added/changed lines)

networking_cisco/apps/saf/server/dfa_server.py (run=1, mis=1, par=0, ign=0) 47%
   32 run  import time
   33
   34
   35 run +from networking_cisco._i18n import _LE, _LI, _LW
   36 run  from oslo_serialization import jsonutils
   37
   38

  382              # it is created by openstack.
  383 run          part_name = self.cfg.dcnm.default_partition_name
  384 par          if len(':'.join((proj_name, part_name))) > 32:
  385 mis +            LOG.error(_LE('Invalid project name length: %s. The length of '
  386                                'org:part name is greater than 32'),
  387                            len(':'.join((proj_name, part_name))))
  388 mis              return

将报告来自diff的每个文件。如果文件未被处理 通过覆盖率测试,或者在 对于文件,这将被报告,如前两个文件所示。

对于包含覆盖率数据和添加/更改行的文件,输出将 看起来像第三个文件。显示diff中的每个行号, 覆盖状态,可以是:

  • “run”该行作为覆盖运行的一部分被调用
  • 'mis'覆盖期间未调用该行
  • “par”线路部分覆盖
  • “”该行未考虑覆盖范围(例如空白、不可执行)

接下来,如果行是添加/更改的,则显示“+”。如果是上下文行 对于diff区域,将显示一个''。删除的行不显示。之后, 显示源代码。

文件名旁边是摘要信息,仅用于添加的行 或者改变了。在这个例子中,有一条线路在 更改集合(带加号的行)。最后,我们可以看到 文件的覆盖率报告-在本例中为47%。

这个脚本可以使用几个旋钮。首先,你可以改变 使用–context参数显示的上下文行数。违约 是3,可以是0或更多。注意:如果diff区域在开始处或 在文件的末尾,上下文行可能会更少或没有上下文行。

其次,您可以选择哪些提交用于diff计算,方法是 指定–哪个参数。默认值是“working”,它将执行 工作目录和最新提交(head)之间的差异。相反,你可以 提供“committed”,将当前提交与 上一次提交(head^..head)。否则,您可以提供提交版本 要用于diff,只需确保最新的对应于 保险报告。例如,您可以执行以下操作:

cd /opt/stack/neutron
commit_coverage --context 5 --which HEAD~5..HEAD~ .

这在中子回购上运行工具,显示更多上下文行,并将 在头~5和头~commits之间进行比较。

可以使用-h选项查看此脚本的参数。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring引导类NotFoundException EmbeddedServletContainerCustomizer   java osgi安全模型是如何工作的?   java在双链表中迭代?   (JAVA)使用命令提示符创建。来自多个服务器的jar文件。类文件   Java处理在使用线程时不显示内容   java不休眠SessionFactory。openSession()等待数据库连接从池中可用   MySQL Java Bukkit插件从数据库中选择   java如何使用CharSequence   java如何在Spring MVC REST中为JSON设置contentlength?   java在现有SOAP web服务上构建REST包装器   java Vertx NetServer控制读取流   Linux下的C++全局java语言   java我可以使用数组。用2d数组填充?如果是,我该怎么做?   java如何在google应用程序引擎的日志中显示UTF8字符?