CTest

使用 CTest/CDash 配置项目以进行测试

将此模块包含在项目的顶级 CMakeLists.txt 文件中,以启用使用 CTest 进行测试和向 CDash 提交仪表板报告。

project(MyProject)
...
include(CTest)

此模块会自动创建以下变量:

BUILD_TESTING

用于选择 include(CTest) 是否调用 enable_testing() 的选项。该选项在模块创建时默认为 ON

包含模块后,使用以下代码:

if(BUILD_TESTING)
  # ... CMake code to create tests ...
endif()

在启用测试时创建测试。

要启用向 CDash 服务器提交报告,请在项目的顶部创建 CTestConfig.cmake 文件,其内容如下:

set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
set(CTEST_SUBMIT_URL "http://my.cdash.org/submit.php?project=MyProject")

(CDash 服务器可以向配置 MyProject 的项目管理员提供此文件)。配置文件中的设置由本 CTest 模块和 ctest(1) 命令行 仪表板客户端 模式 (ctest -S) 共享。

在构建项目以提交给 CDash 时,CTest 会扫描构建输出中的错误和警告,并报告它们以及构建日志中的周围上下文。这种通用方法适用于所有构建工具,但不会提供关于产生给定问题的命令调用的详细信息。可以通过设置 CTEST_USE_LAUNCHERS 变量来获得更详细的报告:

set(CTEST_USE_LAUNCHERS 1)

CTestConfig.cmake 文件中。