Parasoft C/C++Test集成至Jenkins操作记录

  本文所使用的软件为Parasoft C/C++Test 2022.2(下文称cpptest),记录了C++Test静态测试和单元测试的命令行操作,以及将C++Test集成至Jenkins的配置方法。问题记录更新ing…

一、 Jenkins构建配置

该部分只记录Jenkins的构建配置,关于cpptest的具体操作配置和脚本实现方式见二、 Cpptest使用操作

1. 安装插件Parasoft Findings

2. 点击项目 --> 配置 --> 增加构建步骤

在这里插入图片描述
在这里插入图片描述
点击应用,保存即可。build.sh见附录。

3. 增加构建后操作步骤

3.1 静态分析

3.1.1 选择“Record compiler warnings and static analysis results”;

在这里插入图片描述

3.1.2 Tools选择“Parasoft结果”或者“Parasoft Findings”,Report encoding选择“GBK”。

在这里插入图片描述
至此,完成静态分析在Jenkins中的配置,点击进入Jenkins项目后,左侧出现Parasoft Warnings选项。
在这里插入图片描述

3.2 单元测试

3.2.1 选择“Publish xUnit test result”;

在这里插入图片描述

3.2.2 Report Type 选择“ParasoftAnalyzers-10.x”;

在这里插入图片描述

3.2.3 修改localsettings文件

关于localsettings文件的导出:
-localsettings参数指定了⼀个.properties⽂件,这个⽂件主要是设置⾸选项的内容.在这里插入图片描述

命令行指定的-localsettings选项指定的文件(也就是配置许可证的文件),需要加上report.contexts_details=true


至此,单元测试的配置已完成,点击立即构建面板可显示数据。
在这里插入图片描述

二、 Cpptest使用操作

写在开头:
  本文主要介绍命令行操作方法,其中Cpptest测试规则的配置通过图形化界面进行设置。

1. 静态测试

1.1 克隆项目至parasoft的工作空间(已设置为/home/swp/parasoft/workspace),cd至工作空间下

1.2 生成bdf文件

  生成bdf文件需要有Makefile,可以通过执行cmake命令进行生成,工程目录如下图。
在这里插入图片描述

cd /src
cmake ..	# 在当前目录下生成MakeFile
make clean 

cpptesttrace \
--cpptesttraceOutputFile=/home/swp/parasoft/workspace/jenkins_test/src/cpptestscan.bdf \
--cpptesttraceProjectName=demo 

make

1.3 执行静态测试

1.3.1 界面操作

  如果为界面操作,依次点击文件 --> 新建 --> 项目 --> C/C++test --> 创建来自(.bdf/.json)的项目 创建项目,之后点击Parasoft --> 测试执行 --> 静态测试。

1.3.2 命令行操作
cpptestcli \
-config "user://Recommended Rules" \
-data "/home/swp/parasoft/workspace" \
-resource "/home/swp/parasoft/workspace/jenkins_test/src" \
-bdf "/home/swp/parasoft/workspace/jenkins_test/src/cpptestscan.bdf" \
-report "/home/swp/parasoft/workspace/jenkins_test/src/reports/" \
-localsettings "/home/swp/parasoft/workspace/localsettings.properties"

报告的存储位置与名称可自定义。

2. 单元测试

单元测试同静态测试,只需修改cpptestcli -config中的规则即可。

注:

  1. 既进行静态测试又进行单元测试时,生成一次bdf文件即可,否则会产生冲突。
  2. 多次进行测试时,bdf文件并不会被覆盖,而是会被“续写”。(通过观察bdf文件的大小发现,假设第一次执行后bdf文件的大小为2kb,第二次执行后文件大小变为4kb。)如果想要避免该情况,可以选择在每次构建前删除bdf文件。

问题记录

1. “/usr/include/c++/9/iostream" # include <bits/c++ config.h>:No such File or directionary.

报错缺少c++ config.h文件。
解决方案:

sudo apt install gcc-<version>-multilib
sudo apt install g++-<version>-multilib

# e.g.
## 假设电脑使用的gcc版本为9.4.0,则apt install gcc-9-multilib;g++同理。
## 也可不输入版本号,安装时将自动安装对应版本。

2. 本地执行脚本正常,jenkins运行脚本时报错找不到命令cpptesttrace: Not Found

在这里插入图片描述
解决方法: 参考链接指路
在这里插入图片描述
修改前Jenkins --> Build Steps --> Execute shell如下:

./build.sh

修改后:

# cpptesttrace绝对路径
export PATH=/home/swp/parasoft-cpptest/cpptest/bin:$PATH
# cpptestcli绝对路径
export PATH=/home/swp/parasoft-cpptest/cpptest:$PATH
./build.sh

问题解决。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值