【C++】统计代码覆盖率(三)

报告集成到jenkins才是最终目的,因此又进行了部分资料查找,得到html和xml报告集成jenkins的配置如下:

一 集成html报告

这种方式集成在你已经用gcov+lcov生成了html报告的基础上,在此只需要将它放到jenkins中,步骤如下:

1 打开jenkins->进入工程->配置->增加构建后操作步骤->Publish HTML reports                                              

2 生成html报告:配置->增加构建步骤->Execute shell

  1. cd your_path
    sh exittest.sh(上一节中exit程序的脚本)
    cd your_gcda_gcno_path
    lcov -c -o coverage.info  -b . -d .
    genhtml coverage.info -o coverage
    cp coverage_result /data/report/coverage   #注意该路径与html报告的读取路径一致

3 运行完毕,即可在jenkins页面左侧和中上侧看到THML Report 点开即可查看详情,如下

二 集成Cobertura的xml报告

集成到Cobertura与集成到html类似,都需要配置构建后步骤和Execute shell,如下

1 jenkins的Cobertura插件

1) jenkins安装插件Cobertura: jenkins页面->系统管理->管理插件,可在该页面搜索安装插件Cobertura

2)在工程的配置中,增加构建后操作步骤->Publish Cobertura Coverage Report

3) 配置Cobertura

2 配置Execute shell,得到xml文件

1)在jenkins的工程配置中增加构建步骤->Execute shell

sudo sh /data/ad_server/exittest.sh
cd your_code_path
sudo gcovr --xml-pretty -r . --output /data/AdServerTest/coverage.xml

2)在jenkins构建后即可查看结果

三 问题

1 jenkins配置后生成xml报告失败,报错如下:

[Cobertura] No coverage results were found using the pattern ‘/data/cppcoverage/xml/coverage.xml‘ relative to ‘/data/AdServerTest‘.  Did you enter a pattern relative to the correct directory?  Did you generate the XML report(s) for Cobertura?

原因:jenkins路径未关联,具体我也还没搞清楚,将生成的xml报告更改为jenkins提示的 /data/AdServerTest,路径后即可。

2 在查看详细报告时,无法查看具体代码行数覆盖,提示Source code is unavailable,如下:

原因:我还没解决,后续补充

时间: 2024-08-30 11:42:45

【C++】统计代码覆盖率(三)的相关文章

华为初级——字符个数统计(三种情况)

第一种情况: 描述:写出一个程序,接受一个有字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 知识点:字符串,函数,指针   题目来源:内部整理   练习阶段:初级   运行时间限制:10Sec  内存限制:128MByte  输入:输入一个有字母和数字组成的字符串,和一个字符.   输出:输出输入字符串中含有该字符的个数.  样例输入: ABCDEF A                    样例输出: 1 源程序: #include<iostream>

C语言:对传入sp的字符进行统计,三组两个相连字母“ea”&quot;ou&quot;&quot;iu&quot;出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。

//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. 1 #include <stdio.h> 2 #include <string.h> 3 #pragma warning (disable:4996) 4 void fun(char*sp ,int *ct) 5 { 6 int a=0, b=0, c=0; 7 while (*sp != '\0') 8 { 9 if (*s

分析统计&lt;第三篇&gt;

统计是一组存储为柱状图的信息.柱状图是显示数据落入不通分类中的频率的一种统计结构.SQL Server存储的柱状图包括多大200行的列和索引键(或多列索引键的第一列)的数据分布采样.在两个连续采样值之间的索引键值范围上的信息被称为步骤.这些步骤由200个存储值之间的不通大小间隔组成. 一个步骤提供以下信息: 给定步骤的最高值(RANGE_HI_KEY): 等于RANGE_HI_KEY的行数(EQ_ROWS): 前一个最高值和当前最高值之间的行范围,这些样本不计算在内(RANGE_ROWS): 范

【C++】非原创|统计代码覆盖率(一)

网络上php代码的覆盖率统计特别多,C/C++的不多见,大概是因为c/C++的收费?不知道= = 感谢原作者,原微博地址:http://www.cnblogs.com/turtle-fly/archive/2013/01/09/2851474.html http://ltp.sourceforge.net/coverage/lcov.php demo 主要操作是:1 用gcov完成对c/c++文件的覆盖:2 通过lcov生成覆盖率报告:3 集成到jenkins的自动化case(需要自己做) 本章

统计学习三要素

原文链接:https://www.mlpod.com/mlbase/23.html 三要素:方法=模型+策略+算法. 1.1 模型 在监督学习过程中,模型就是所要学习的条件概率分布或决策函数.假设空间用$\mathcal{F}$表示,假设空间可以定义为$$\mathcal{F} = \left\{ {f|Y = {f_\theta }\left( X \right),\theta \in {\mathbb{R}^n}} \right\}$$或$$\mathcal{F} = \left\{ {P|

词频统计 第三周

package search; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.

Spark 大数据中文分词统计(三) Scala语言实现分词统计

Java版的Spark大数据中文分词统计程序完成之后,又经过一周的努力,把Scala版的Spark 大数据中文分词统计程序也搞出来了,在此分享给各位想学习Spark的朋友. 如下是程序最终运行的界面截图,和Java版差别不大: 如下是Scala工程结构: 当你在工程主类文件WordCounter.scala上单击右键,选择Run As Scala Application: 然后选择唐诗宋词进行分词统计,就会出现前面显示的分词结果. 工程代码已经上传CSDN:http://download.csd

通过maven插件方式使用Jacoco统计代码覆盖率

<build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.5</version> <executions> <execution> <id>default-prepare-agent</i

每周进度及工作量统计——第三周

9月26 类别 开始时间 结束时间 中断时间 净时间 查找资料 13:30 17:30 10m 200m 安装程序 19:00 21:00 10m 100m 查看单元测试资料 22:00 23:00 0m 60m 9月27日 类别 开始时间 结束时间 中断时间 共用时 安装vs cppunit及熟悉环境 9:00 11:20 10m 130m 编写程序 14:30 15:00 0m 30m 写博客 18:00 18:40 0m 40m 9月28日 类别 开始时间 结束时间 中断时间 共用时 结对