linux C单元测试工具CUnit的编译安装及使用
1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/
(安装包版本为文章做成时2016-05-25的最新版本)
https://sourceforge.NET/projects/cunit
2 解压缩安装包
tar jxvf CUnit-2.1-3.tar.bz2
3 进入解压后的文件夹CUnit-2.1-3
cd CUnit-2.1-3
4 执行make,分别执行以下命令
aclocal
autoheader
autoconf
automake
如果在automake过程中有文件丢失,则执行下面命令:
automake --add-missing
再次执行automake
如果出现错误:configure.in:161:required file './ltmain.sh' not found,则执行下面的命令:
libtoolize --automake --copy --debug --force
执行完上述步骤以后,查看是否生成了configure,如果有,则执行:
./configure
执行完上述步骤以后,查看是否生成了Makefile,如果有,则执行:
make
安装编译出的库:
sudo make install
查看是否已经安装成功:
ls /usr/local/lib/libcunit.so
5 样例代码做成
5.1 CUnit官网上的样例代码拷贝并保存至/home/用户/test下面,记为test.c
http://cunit.sourceforge.net/example.html
5.2 编译t.c
gcc -o t t.c -lcunit
5.3 运行t
./t
5.4正常运行的话会产生以下结果画面

6 生成测试代码覆盖率报告
6.1 重新编译t.c
gcc -fprofile-arcs -ftest-coverage -o t t.c -lcunit
6.2 运行t
./t
6.3 生成覆盖率数据中间文件
gcov t.c
6.4 生成xml形式的覆盖率报告文件至app.info文件
lcov --directory . --capture --output-file app.info
6.5 生成html形式的覆盖率报告文件至results文件夹,数据来源文件为app.info
genhtml -o results app.info
6.6 正常的话会生成下述的html页面
linux C单元测试工具CUnit的编译安装及使用的更多相关文章
- linux自动交互工具expect,tcl安装和安装包,以及自动互信脚本
linux自动交互工具expect,tcl安装,以及自动互信脚本 工作中需要对几十台服务器做自动互信,无意中发现expect命令,研究一番. 在网上找了许多资料也没有安装成功,摸索着总算成功了.现分享 ...
- Linux 日志分析工具(logwatch)安装及使用
Linux 日志分析工具(logwatch)安装及使用 日志是非常重要的系统文件,管理员每天的重要工作就是分析和查看服务器的日志,判断服务器的健康状态.但是日志管理又是一项非常枯燥的工作,如果需要管理 ...
- Linux中服务器软件为什么需要编译安装
为什么服务器软件需要编译安装?一个流传很广的说法是编译安装性能更好,其实这是个谣言. 服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的.Intel宣传自己的编译工具 ...
- 压测工具wrk的编译安装与基础使用
Linux上编译安装: [root@centos ~]# cd /usr/local/src [root@centos ~]# yum install git -y [root@centos ~]# ...
- linux下Mysql 8.0.19 编译安装
1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...
- Linux下./configure && make && make install 编译安装和卸载
正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). configure文件是一个可执行的脚本文件,它有很多选项, ...
- Linux下SSH工具 PAC Manager的安装
PAC Manager, Linux下类似SecureCRT Xshell的SSH工具,该工具功能上相当的不错,完全可以代替SecureCRT Xshell的功能. PAC (Perl Auto Co ...
- Linux MySQL单实例源码编译安装5.5.32
cmake软件 tar -zxvf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./bootstrap make make install cd ../ 依赖包 yum i ...
- Linux MySQL单实例源码编译安装5.6
cmake软件 tar -zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./bootstrap make make install cd ../ 依赖包 ...
随机推荐
- BZOJ2839:集合计数(容斥,组合数学)
Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007. ...
- Spring(十六)之MVC框架
MVC 框架教程 Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业 ...
- filebeat配置
filebeat收集日志配置: filebeat.prospectors: - input_type: log enabled: true paths: - /mydata/erp_datacente ...
- Python3.2-re模块之常用正则记录
python的re模块是个很好的模块,这里简单记录下自己编写的几个有用的正则: 1:邮箱匹配: gReMailbox = re.compile(r'([\w\.\-+]+@[\w\-]+(?:\.[\ ...
- 20155325 Exp2 后门原理与实践
基础问答 例举你能想到的一个后门进入到你系统中的可能方式? 乱点链接 学电脑小白不正确配置电脑 下载非官网软件 例举你知道的后门如何启动起来(win及linux)的方式? 软件:ncat socat ...
- Java实现Zip压缩包解压
对zip压缩包的解压是比较常见的应用场景,java代码的实现也很简单.废话不多说,直接上代码吧 一.代码 /** * zip解压 * @param srcFile zip源文件 * @para ...
- mfc Edit控件属性
设置Edit控件属性 窗口创建顺序 初始化Edit控件数据 一.设置Edit控件属性 .Align Text :Right 二.窗口创建顺序 CMywindowdlg: 窗口构造函数 OnCreate ...
- 手撸orm
ORM简介 ORM即Object Relational Mapping,全称对象关系映射.当我们需要对数据库进行操作时,势必需要通过连接数据.调用sql语句.执行sql语句等操作,ORM将数据库中的表 ...
- 设计模式 笔记 代理模式 Proxy
//---------------------------15/04/21---------------------------- //Proxy 代理模式-----对象结构型模式 /* 1:意图: ...
- asp.net web api参数
翻译自:http://www.c-sharpcorner.com/article/parameter-binding-in-asp-net-web-api/ 主要自己学习下,说是翻译,主要是把文章的意 ...