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