Parasoft C/C++ test 自动化用户指南(五):命令行选项
Parasoft C/C++test针对C/C++开发的专业白盒自动化测试方案,能有效提高软件开发效率和代码质量。C++test 可以进行静态分析,全面代码审查,运行时错误检测,并在单元测试和组件测试中集成覆盖率分析。
命令行选项
配置测试配置
-config <config_url>
此选项允许您指定将用于分析的测试配置。该选项后面必须跟有内置、用户定义或 DTP 托管的测试配置的名称。例子:
- cpptestcli -config "builtin://MISRA C"
- cpptestcli -config "user://My_Config"
- cpptestcli -config "dtp://New_Rules"
-listconfigs
此选项打印可用测试配置的列表,可用于获取您可以通过该-config选项传递的有效测试配置名称。
配置编译器
-compiler <name|path>
此选项指定用于代码分析和检测的编译器配置名称。编译器配置名称需要是受支持的编译器名称之一。
-list-compilers
此选项打印支持的编译器列表,可用于获取您可以通过该-compiler选项传递的有效编译器 ID 。
-detect-compiler
此选项根据您指定的带或不带路径的编译器命令(可执行文件名称)检测编译器。您可以提供带有分号分隔列表的编译器命令列表,并使用此选项获取有效的编译器 ID 以与该-compiler选项一起传递。例子:
- -detect-compiler gcc
配置输入范围
-trace <build command>
此选项指定启动构建过程以编译要测试的文件的构建命令。有关构建过程的信息和构建期间收集的输入范围数据存储在cpptest.bdf文件中。必须在 之前指定 C/C++test 特定的选项-trace,因为后面的所有值-trace都将被解释为构建命令。例子:
- cpptestcli -config "builtin://Recommended Rules" -compiler gcc_3_4 -trace make clean all
-input <build data file|project file>
此选项指定现有构建数据文件 (.bdf) 或另一个项目定义文件的路径以收集输入范围。
构建数据文件:您可以-trace使用选项或使用独立cpptestscan或cpptesttrace实用程序创建构建数据文件;
项目定义文件: C/C++ 支持以下文件类型:
- Microsoft Visual Studio 项目和解决方案(.vcproj、.vcxproj、.sln)。在指定 Microsoft Visual Studio 项目或解决方案时,您可以提供配置和平台来收集 <PROJECT_FILE>@<CONFIGURATION>|<PLATFORM> 的数据。
- 由 CMake 构建系统生成的 JSON 格式 (.json) 文件。
例子:
- -input cpptest.bdf
- -input MyProject.vcproj
- -input MySolution.sln
- -input "MySolution.sln@Release|Win32"
- -input compile_commands.json
-- <compile command
用于从编译命令收集输入范围的开关。确保编译命令完整并包含编译器可执行文件、编译器标志和源文件。
C/C++test 特定的选项必须在-- switch之前指定,因为switch之后的所有值--都将被解释为编译器命令。例子:
- cpptestcli -config "builtin://Recommended Rules" -compiler gcc_3_4 -- gcc -I include Bank.cxx
-module [<module name>=]<module root directory>
此选项指定模块根目录并将其与模块关联。如果未指定模块名称,C/C++test 将使用目录名称作为模块名称。
此选项允许您为 .bdf 文件中包含的 C/C++test 文件定义模块化结构:
- 位于指定模块根目录(或其子目录)中的源文件属于关联模块
- 位于指定模块根目录(或其子目录)中的头文件属于相关模块
- 包含在测试源文件中的头文件仅在它与源文件属于同一模块时才被测试
您可以多次指定此选项以定义多个模块 - 例如,包含在一个 .bdf 文件中的文件可以分为不同的模块。
Microsoft Visual Studio 项目/解决方案(.vcproj、.vcxproj、.sln)不支持此选项。
例子:
- -module MyProject=/home/project/src
- -module ../Module1
- -module .
-resource <path|file name>
此选项缩小了输入范围。您可以指定以下选项之一:
- 文件路径 - 测试选定的文件
- 目录的路径 - 测试所选目录中包含的文件
- 文件名 - 仅测试与指定名称匹配的文件
- .lst列出要分析的资源的文件路径(文件中的 ech 行将被视为单个条目)
例子:
- -resource /home/cpptest/examples/ATM/ATM.cxx
- -resource /home/cpptest/examples/ATM
- -resource ATM.cxx
- -resource c:/resource.lst
-include <absolute path> and -exclude <absolute path>
这些选项包括或排除与指定模式匹配的文件进入/退出检测范围。可以多次指定选项。最终过滤仅在所有包含/排除条目按其规范顺序指定后确定。
提供文件的绝对路径(您可以*用作通配符)。例子:
- -include /home/project/src/ATM.cxx
- -exclude /home/project/src/*.cxx
- -exclude /home/project/MyExcludes.lst
报告
-report <path>
此选项指定将创建报告的目录的路径。
-publish
此选项将结果发送到 DTP。
自定义配置
-settings <path>, -localsettings <path>, and -ls <path>
此选项指定包含以下格式的自定义设置的自定义 .properties 文件的路径:(key=value例如,report.format=pdf)。您可以多次使用此选项来指定多个 .properties 文件。具有相同密钥的条目将被覆盖。例子:- -settings Project1Config.properties
-property <key>=<value>
此选项允许您直接在命令行中配置单个设置。使用以下格式:key=value.
您可以多次使用此选项在同一命令行上配置多个设置。具有相同密钥的较早条目将被覆盖。例子:
- -property session.tag=sa_linux -property report.dtp.publish=true -property techsupport.create.on.exit=true
-showsettings
此选项打印当前设置和自定义。
-psrc <path|name>
此选项指定 Parasoft 支持提供的高级配置文件。例子:
- -psrc advanced_options.psrc
其他选项
-machineId
此选项打印您的机器 ID。
-encodepass <your password>
此选项打印可在 .properties 配置文件中使用的编码密码。
-workspace <path>
此选项指定要在代码分析和检测期间使用的工作区目录。工作空间位置用于存储 C/C++test 数据文件(如cpptest.bdf)和增量数据目录(.cpptest)。如果未指定,C/C++test 将使用您的工作目录进行存储。例子:
- -workspace /home/qa/workspace_for_project1
每个工作区只能运行一个 C/C++test 实例。
-showdetails
此选项会增加控制台的详细程度以显示进度详细信息。
-fail
如果报告违规或设置问题,此选项会通过返回非零退出代码使命令失败。
-version
此选项打印有关您正在使用的 Parasoft 工具版本的信息。
-help
此选项打印命令行帮助。