我试着用PalpFoT C/C++测试来检查“编码标准”和静态测试。我在Parasoft用户指南中只找到了“如何在Makefile项目中创建bdf”一节。
如何为每个项目创建bdf?必须使用makefile项目吗?
最佳答案
谢谢你的回答,parasoft不是一个有名的话题。
答案是值得的。我找不到cpptesttrace。
有cpptest和cpptestscan。他们会吗?我用的是旧版本的parasoft。
你说得对CppTestTrace在SypFoT C++测试版本9.4(2012年中期)中添加,因此您可能使用的是版本9.2或更早的版本,只有“CPPestSCAN”存在。
顺便说一下,这里是对C++测试独立安装程序(不是VisualStudio插件)的快速解释:
CppTest-启动C++测试GUI(Eclipse),通常用于桌面上的交互工作
CppTestCLI+C++测试命令行驱动程序,用于自动化静态分析,例如作为詹金斯作业运行
cpptestscan-用作编译器命令行的前缀,以捕获单个编译信息并将其添加到BDF文件中
CpTestTrace-(因为SypFoT C++测试9.4)用作构建命令行的前缀,捕获所有编译命令并保存在BDF文件中
cpptestscan和cpptesttrace的主要区别在于:
cpptestscan必须预先放在每个编译命令行之前。这意味着,cpptestscan只能捕获单个编译,并一次将一个保存到BDF中。这通常是通过覆盖make c c或CXX变量(指定编译器,例如“cpptestscan g++-c foo.c-ofoo.o”)来完成的。
cpptestrace本来应该在整个build命令前添加一次,它跟踪build命令调用的子进程。所有被识别为编译器调用的进程的记录都存储在BDF中。
如果生成文件或生成脚本足够灵活,允许在命令行重写编译器,则CPPestSCAN是很好的。
make CXX="cpptestscan g++" CC="cpptestscan gcc"
基于make的项目通常是可行的。对于自定义或自动生成的生成脚本,所有匹配都将关闭。通常,唯一的选择是修改项目构建脚本,而人们通常对此感到紧张。
在这种情况下,cpptesttrace可以提供帮助,因为它是完全非侵入性的,并且可以从几乎任何生成过程捕获生成信息。
回到本文最初的问题,如果您有多个项目:
使用cpptestscan,您需要在每个项目的构建脚本中以某种方式在编译器前面加上cpptestscan来创建相应的BDF
使用cpptesttrace,可以为每个项目运行build,在每个项目的build命令前面添加cpptesttrace以创建相应的BDF
后者通常更容易,但您需要新的C++测试(最新版本是10.3)。
我希望这会有帮助。
顺便说一下:如果你能升级你的C++测试,请与Parasoft联系。
关于c - 如何在Parasoft中创建构建数据文件(bdf)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46189980/