CTest¶
使用 CTest/CDash 配置项目以进行测试
将此模块包含在项目的顶级 CMakeLists.txt 文件中,以启用使用 CTest 进行测试和向 CDash 提交仪表板报告。
project(MyProject)
...
include(CTest)
此模块会自动创建以下变量:
用于选择
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
文件中。