第 6 步:添加对测试仪表盘的支持¶
添加支持以将我们的测试结果提交到仪表盘很容易。我们已在 测试支持 中为我们的项目定义了许多测试。现在我们只需要运行这些测试,并将它们提交到 CDash 中。
练习 1 - 将结果发送到测试仪表盘¶
目标¶
使用 CDash 显示我们的 CTest 结果。
有帮助的资源¶
要编辑的文件¶
CMakeLists.txt
入门¶
对于此练习,在顶级 CMakeLists.txt
中完成 TODO 1
,通过包含 CTest
模块。这将启用对 CTest 的测试以及向 CDash 提交仪表盘,因此我们可以安全地删除对 enable_testing()
的调用。
我们还需要获取一个 CTestConfig.cmake
文件放入顶级目录。运行时,ctest
可执行文件会读取此文件来收集有关测试仪表盘的信息。它包含
项目名称
项目的“每日”开始时间
此项目的一天 24 小时“开始”的时间
将发送提交生成文档的 CDash 实例的 URL
对于本教程,使用了公共仪表盘服务器,并为您在本步骤的根目录中提供了其对应的 CTestConfig.cmake
文件。在实际中,此文件将从 CDash 实例上的某个项目的 Settings
页面下载,该实例用于托管测试结果。从 CDash 下载后,不应在本地修改此文件。
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)
构建和运行¶
请注意,作为 CDash 提交的一部分,某些有关您的开发系统的信息(例如站点名称或完整路径名)可能会公开显示。
要创建简单的测试仪表盘,请运行 cmake
可执行文件或 cmake-gui
以配置项目,但不要构建项目。相反,导航到构建目录并运行
ctest [-VV] -D Experimental
请记住,对于多配置生成器(例如 Visual Studio),必须指定配置类型
ctest [-VV] -C Debug -D Experimental
或者,从 IDE 构建 Experimental
目标。
此 ctest
可执行文件将构建项目、运行所有测试,并将结果提交到 Kitware 的公共仪表盘: https://my.cdash.org/index.php?project=CMakeTutorial。
解决方案¶
在本步骤中所需的唯一更改的 CMake 代码是通过在顶层 CMakeLists.txt
中包含 CTest
模块,启用到 CDash 的仪表盘提交
TODO 1:单击显示/隐藏答案
include(CTest)