CTest

使用 CTest/CDash 配置项目测试

在项目的最顶层 CMakeLists.txt 文件中包含此模块,以启用 CTest 测试和 CDash 仪表盘提交

project(MyProject)
...
include(CTest)

此模块会自动创建一个 BUILD_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) 命令行 Dashboard Client 模式(ctest -S)共享。

在为提交到 CDash 而构建项目时,CTest 会扫描构建输出以查找错误和警告,并使用构建日志中的周围上下文对其进行报告。此通用方法适用于所有构建工具,但不会提供产生特定问题的命令调用的详细信息。可以通过设置 CTEST_USE_LAUNCHERS 变量来获取更详细的报告

set(CTEST_USE_LAUNCHERS 1)

CTestConfig.cmake 文件中。