步骤 6:添加对测试仪表盘的支持

添加对将测试结果提交到仪表盘的支持非常简单。我们已经在测试支持中为我们的项目定义了许多测试。现在我们只需要运行这些测试并将它们提交到 CDash。

练习 1 - 将结果发送到测试仪表盘

目标

使用 CDash 显示我们的 CTest 结果。

有用资源

要编辑的文件

  • CMakeLists.txt

开始

对于本练习,请通过包含CTest模块来完成顶层CMakeLists.txt中的TODO 1。这将启用 CTest 的测试以及向 CDash 提交仪表盘,因此我们可以安全地移除对enable_testing()的调用。

我们还需要获取一个CTestConfig.cmake文件并将其放置在顶层目录中。运行时,ctest可执行文件将读取此文件以收集有关测试仪表盘的信息。它包含:

  • 项目“夜间”开始时间

    • 此项目 24 小时“天”的开始时间。

  • 将提交生成的文档的 CDash 实例的 URL

对于本教程,使用了一个公共仪表盘服务器,并且其对应的CTestConfig.cmake文件已在此步骤的根目录中为您提供。实际上,此文件将从项目在其旨在托管测试结果的 CDash 实例上的Settings页面下载。从 CDash 下载后,不应在本地修改该文件。

CTestConfig.cmake
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_SUBMIT_URL "https://my.cdash.org/submit.php?project=CMakeTutorial")

构建并运行

请注意,作为 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:点击显示/隐藏答案
TODO 1: CMakeLists.txt
include(CTest)