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) 命令行 Dashboard Client 模式 (ctest -S) 共用。
在构建项目以提交到 CDash 时,CTest 会扫描构建输出中的错误和警告,并附带构建日志中的上下文信息进行报告。这种通用方法适用于所有构建工具,但无法提供产生特定问题的命令调用详细信息。可以通过在 CTestConfig.cmake 文件中设置 CTEST_USE_LAUNCHERS 变量来获得更详细的报告
set(CTEST_USE_LAUNCHERS 1)
在 CTestConfig.cmake 文件中。