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