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
文件中。