本主题说明了 QNX Momentics 中 C++test 插件的安装和基本设置说明。此章节:
说明
使用 Eclipse 插件机制将 C++test 集成到 QNX Momentics IDE 中。链接文件将添加到以下位置:
<QNX Installation Root>/QNX Momentics/com.parasoft.xtest.cpptest.link.
链接文件包含 C++test 插件的路径,该路径通知 QNX Momentics IDE 该插件应在启动时加载。安装后,将在 Workbench 中添加专用的 C++test 透视图。C++test 视图也将添加到 C/C++ 透视图中。
先决条件
安装
- 运行 C++test 插件安装可执行文件。
- 选择设置语言。
- 当对话框询问您是否要安装 C++test 时,单击 是 。
- 您阅读并同意许可信息后,单击是。
- 选择 QNX 目标平台,然后单击下一步。
- 输入您的 QNX Momentics 安装目录(如果未自动检测到),然后单击确定。
- 输入 C++test 扩展文件所需的目标目录,然后单击下一步。
- 如果 IDE 已打开,请关闭它,然后单击确定关闭提示您关闭该程序的对话框。然后,C++test 将开始复制文件并将必要的文件安装到 Momentics 中。将打开一个带有进度指示器的对话框,并指示安装进度。安装完成后,将打开一个通知对话框。
- 单击 确定 按钮以关闭通知对话框。
在安装过程中,C++test 尝试在以下 QNX Momentics IDE 的嵌入式 Eclipse 位置中创建链接文件:
<QNX Installation Root>/QNX Momentics/com.parasoft.xtest.cpptest.link
该链接将包含 C++test 安装目录的路径。这是 C++ test 安装在 QNX 软件开发平台发行版中所做的唯一更改。
照常启动 QNX Momentics IDE(安装了 C++test 插件)。
卸载
使用控制面板的添加 或删除 程序 功能来卸载 C++test QNX Momentics IDE 插件。或者,您可以运行 Windows C++test 安装可执行文件并启用删除 选项。
您无法通过删除<QNX Installation Root>/QNX Momentics
/com.parasoft.xtest.cpptest.link
链接文件来卸载 C++test 插件。如果删除文件,则仍然需要手动删除 C++test 安装。Windows 注册表 Installshield 信息仍将保留。
许可
您可以使用从 Parasoft DTP 或 Parasoft License Server 的独立实例提供的本地(机器锁定)许可证或网络许可证来运行 C++test 插件 。有关如何配置许可证的详细信息,请参见 许可证 。
使用 QNX 项目
为了执行静态分析或单元测试,C++test 必须从您的 QNX 项目中收集以下信息:
- 源文件的路径
- 编译命令行
- 链接器命令行
该信息是通过扫描 make 文件从 QNX Momentics IDE 项目结构描述中收集的。
扫描 Make 文件
- 选择您的项目并运行 C++test 测试配置。
- 构建过程开始,但是 make 文件执行的是带有选项扫描实用程序前缀的命令行,而不是使用实际的编译/链接命令行。命令行通常进行如下修改:
- 原始编译命令行:
qcc <options> <file>
- C++test 前缀编译命令行:
options_scanner <options> qcc <options> <file>
- 原始编译命令行:
- 选项扫描程序分析命令行并存储编译器/链接器选项,以供进一步使用。
构建过程完成后,C++test 将收集所有必要的数据。
项目配置
在开始测试之前,请确保正确设置了项目的编译器/链接器选项源。在大多数情况下,C++test 会自动检测必要的设置。编译器/链接器标志的源设置在【构建设置】屏幕中指定。要访问构建设置:
- 右键单击项目的【导航器】节点,然后从快捷菜单中选择 属性。
- 在左窗格中展开 Parasoft> C++test 类别,然后选择构建设置 类别。
提供以下配置选项:
选项来源
从下拉菜单中选择收集编译器/链接器开关的策略。
要直接测试 QNX 项目,请从 QNX 构建系统中选择【使用选项。C++test 选项提取器旨在扫描 QNX 生成文件。扫描编译器/链接器可执行文件的名称,编译器/链接器命令行以及用于启动编译/链接过程的系统环境。所有这些设置稍后将在 C++test 分析期间使用。
项目设置
- 构建命令行: 输入将启动您的构建系统的命令行。该系统可以是抽象的,但是默认情况下,假定使用基于 make 的系统,并且预设了适当的命令。此命令在项目的生成文件上执行您的生成,以扫描项目的编译和链接选项。因此,一个特殊的扫描器(隐藏在 ${CPPTEST_SCAN} 宏后面)代替了 C/C++ 编译器和链接器。-i 和 -B make 选项非常有用(有关更多信息,请参见计算 Make 种类)。
- 构建工作目录:指定从中启动构建命令的目录。
- 依赖文件:指定每次执行测试/构建操作时应检查是否有更改的所有文件。如果发现这些文件之一被修改,将重新执行构建命令。您应该输入作为项目选项来源的所有文件(或影响它们)。通常,这只是您的生成文件。
- 重置缓存 按钮:使您可以清除所有扫描的选项并在下一个测试操作上强制重新扫描(有关异常情况,请参见计算 Make 种类)。
编译器设置
编译器设置区域使您可以指定用于编译项目源代码和构建测试可执行文件的编译器集/工具。设置包括:
- 系列:从所有当前注册的编译器系列中选择适当的系列。使用 QNX® GCC 5.x.
单击 自动检测 以允许 C++test 根据存储在编译器配置目录中的编译器可执行文件和编译器版本正则表达式自动检测编译器系列。由于嵌入式解决方案使用了各种各样的编译器,因此自动检测可能并不总是能产生预期的结果。 - C 编译器: 指定 C 编译器可执行文件。
- C++ 编译器: 指定 C++ 编译器可执行文件。
- 连接器:指定链接器可执行文件。
选项
指定要包括的所有其他编译器或链接器选项,以及运行时库的位置。
- -
DPARASOFT_CPPTEST
默认添加到编译器选项中。之后,您可以添加任何其他选项。 - 您可以添加选项,但不能删除它们(除非您可以用负号覆盖原始选项,例如未定义符号等)。
- 此
${cpptest:original_options}
变量可用于访问原始项目选项。
另参见在 C++test 项目或“文件选项”面板中指定选项。
静态分析
在开始静态分析之前,请确保在【项目属性】面板的Parasoft> C++test> 构建设置 区域中使用了适当的编译器设置。在大多数情况下,最好将【选项源】设置为来自 QNX 构建系统的使用选项。 确认编译器设置正确后,您可以开始分析。
运行时库测试
本节涵盖单元测试 和Application Monitoring。
单元测试
构建用于测试 QNX 项目的 C++test 运行时库
对于嵌入式测试,必须先针对所选平台交叉编译 C++test 运行时库,然后才能执行单元测试。内置的“运行 QNX Momentics 测试”测试配置会自动完成此构建。
如果需要手动构建 C++test 运行时库,请按照使用 C++test 运行时库中的说明进行操作-使用QNX_5.mk
作为目标配置。
QNX 单元测试的测试配置
C++test 提供了专门用于测试 QNX 项目的测试配置模板。该测试配置位于“内置”>“嵌入式系统”>“ QNX”>“运行 QNX Momentics 测试”中。它涵盖了 QNX 项目的完整单元测试所需的所有步骤:
- 构建 C++test 运行时库
- 启动测试可执行文件
- 在远程 QNX 系统上执行测试可执行文件
- 收集结果
该测试配置只是一个模板,需要对其进行自定义以反映您的远程 QNX 系统配置,如下所示:
- 选择 Parasoft> 测试配置。
- 打开 内置> 嵌入式系统> QNX 树节点。
- 右键点击 运行 QNX Momentics 测试 然后选择 Duplicate。
- 选择现在出现在用户定义下的重复测试配置。
- 打开 Execution 选项卡
- 修改测试配置属性以反映您的远程 QNX 系统配置:
- QNX 目标: 目标主机地址
- QNX 目标测试目录:目标主机上将执行测试的目录
- QNX 目标用户名:用于连接目标主机的用户名
此测试配置基于 Windows 中可用的 rcp(允许远程复制)和 rsh(允许远程 shell 执行)工具。需要将远程 QNX 系统配置为允许来自 rcp 和 rsh 的远程调用。也可以修改测试执行流程并使用不同工具代替 rcp 和 rsh。
调试器测试用例
在 Eclipse 内部调试器模式下进行调试更多详细信息请参见:
应用监测
QNX 应用程序监视的测试配置
C++test 提供了一个【测试配置】模板,该模板专门设计用于运行带有内存监视的 QNX 应用程序:内置>嵌入式系统>QNX>使用 QNX Momentics 的内存监视构建和运行应用程序。该测试配置提供了运行 QNX 应用程序监视所需的所有步骤,包括:
- 构建应用程序
- 在远程 QNX 系统上执行应用程序
- 收集结果
该测试配置只是一个模板。需要对其进行自定义以反映您的远程 QNX 系统配置。自定义它:
- 选择 Parasoft> 测试配置。
- 展开内置>嵌入式系统> QNX。
- 右键单击构建并运行应用程序与 QNX Momentics 的内存监测 然后从快捷菜单中选择 Duplicate 。
- 选择添加到 用户定义 类别的新测试配置。
- 打开 Execution 选项卡
- 修改测试配置属性以反映您的远程 QNX 系统配置:
- QNX 目标: 目标主机地址。
- QNX 目标测试目录:目标主机上将执行应用程序的目录。
- QNX 目标用户名:用于连接目标主机的用户名
- QNX 目标 PHOTON 环境变量值:对于 GUI 应用程序,您需要指定此值才能在 phindows 会话中显示应用程序 GUI。
此测试配置基于 Windows 中可用的 rcp(允许远程复制)和 rsh(允许远程 shell 执行)工具。需要将远程 QNX 系统配置为允许来自 rcp 和 rsh 的远程调用。也可以修改测试执行流程并使用不同工具代替 rcp 和 rsh。