首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试我们的CMake模块

测试我们的CMake模块
EN

Stack Overflow用户
提问于 2018-08-21 19:51:15
回答 1查看 322关注 0票数 2

我们为CMake创建了多个附加函数。它们变得相当多,我们需要(单元)测试它们。

有一些简单的,只有一些变量的基础,比如:

代码语言:javascript
复制
function(join_list LIST GLUE)

可以使用检查结果的自定义CMake脚本对其进行测试。为此,我们还编写了一组assert宏。

当函数是基于目标的时,这会变得更加困难:

代码语言:javascript
复制
function(target_my_custom_property_set TARGET VALUE)

我们需要一个需要配置的多个CMakeLists.txt文件。配置必须成功或失败,并显示指定的消息。此外,还必须检查结果文件。

我想知道,有没有更简单的方法?有没有现有的框架?Kitware如何测试已交付的模块?

EN

回答 1

Stack Overflow用户

发布于 2018-12-24 10:09:20

ctest是用于运行各种测试的框架。作为CMake Testing Process的一部分,有许多针对cmake的测试。这些测试是Tests文件夹中源代码的一部分,也是CMakeLists.txt的一部分。

您要查看的特定测试位于RunCMake文件夹中。这些测试利用RunCMake.cmakemessage中的测试就是一个很好的例子。这些测试所做的是利用execute_process捕获cmake的输出,并将cmake配置步骤的输出与具有预期输出的文件的内容进行比较。来自cmake的返回值也会被返回,并且可以进行测试。

你不需要指定什么是“结果文件”。还有一些更复杂的示例,即执行配置并构建和扫描一些文件来验证其中的内容。

如果您在失败的配置、失败的构建、传递的配置和构建以及特定的输出消息中分离检查消息,可能会更容易。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51948060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档