CMake Tutorial(8)_ 为测试白板添加支持
这是本系列的第九篇。
上一篇我们学习了如何打包一个安装包。
这一篇我们来学习一下如何为测试白板添加支持。
本章导读
第八步 为测试白板添加支持
Adding support for submitting our test results to a dashboard is simple. We already defined a number of tests for our project in Testing Support. Now we just have to run those tests and submit them to a dashboard. To include support for dashboards we include the
CTest
module in our top-levelCMakeLists.txt
.
为“提交我们的测试结果到测试白板”这一操作添加支持是简单的。在Testing Support篇中我们已经定义了一系列测试。现在我们只要运行这些测试并且将它们提交到测试白板上。为了包含测试白板的支持我们在顶层的CMakeLists.txt
文件中包含了 CTest
模块。
Replace:
将以下内容:
CMakeLists.txt
# enable testing
enable_testing()
With:
替换成:
CMakeLists.txt
# enable dashboard scripting
include(CTest)
The
CTest
module will automatically callenable_testing()
, so we can remove it from our CMake files.
CTest
模块将会自动调用enable_testing()
,所以我们可以把使能语句从我们的CMake文件中移除。
We will also need to acquire a
CTestConfig.cmake
file to be placed in the top-level directory where we can specify information to CTest about the project. It contains:
我们同时也需要在顶层路径中创建一个CTestConfig.cmake
文件来向CTest指定关于项目的信息。它包含:
- The project name
- The project “Nightly” start time
- The time when a 24 hour “day” starts for this project.- The URL of the CDash instance where the submission’s generated documents will be sent
- 项目的名称
- 项目“每晚”的开始时间
- 24小时制下项目启动的时间
- CDash实例的URL,用于接收提交的生成文件
One has been provided for you in this directory. It would normally be downloaded from the
Settings
page of the project on the CDash instance that will host and display the test results. Once downloaded from CDash, the file should not be modified locally.
在Tutorial的路径下已经为你提供了这个文件。它将通常地从托管和显示测试结果的CDash实例的项目的Settings
页下载, 一旦从CDash下载后,这个文件就不应在本地做修改。
CTestConfig.cmake
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)
The
ctest
executable will read in this file when it runs. To create a simple dashboard you can run thecmake
executable or thecmake-gui
to configure the project, but do not build it yet. Instead, change directory to the binary tree, and then run:
ctest
可执行文件将在运行时读取此文件。若要创建简单的测试白板,可以运行 cmake
可执行文件或cmake-gui
来配置项目,但不要生成它。此时应将目录切换到二进制树下,然后运行:
ctest [-VV] -D Experimental
小白按:毫无疑问,再次踩坑,小白的命令是这样的(命令就在Step8_build
路径下执行):
"C:\Program Files\CMake\bin\ctest" -C Debug -VV -D Experimental
Or, from an IDE, build the
Experimental
target.
或者,从IDE端,生成Experimental
目标。
The
ctest
executable will build and test the project and submit the results to Kitware’s public dashboard: https://my.cdash.org/index.php?project=CMakeTutorial.
ctest
可执行文件将会执行并测试项目,然后把它提交到Kitware的公共测试板上去:https://my.cdash.org/index.php?project=CMakeTutorial.
小白按:这里CMake跟另一个工具发生了联动。这个工具名叫CDash。大致了解一下,这是一个可以进行测试性能分析的工具网站,可以注册,还有客户端。但本教程中是将测试结果提交到了它的公共测试白板上。小白尝试了一下,经最后确认,找到了小白上传的这个测试结果:
点开Build Name,可以看到详情:
这里面有很丰富的测试信息和测试报表,小白点了最下面的"View Tests Summary"链接,看到下面的图片:
这里还有其他一些测试信息,但不是本篇的重点。就不再一一去探索了。
那么本篇的学习就到此为止了。CDash这个工具也就浅尝辄止啦。
下一篇我们继续学习,内容是选择静态库及动态库,这应该是一章非常重要的内容。
【水平所限,错漏难免,创作不易,轻喷勿骂】