有没有一种方法,最好是从CMakeLists.txt,设置ctest为
页脚应出现在默认输出下方
The following tests FAILED:
76 - MyHardTest
Errors while running CTest
Run Code Online (Sandbox Code Playgroud)
这具体化并概括了一个两年多以来一直存在的不太明确的问题(CMakeLists.txt:如果 ctest 失败如何打印消息?)。因此,我担心没有简单的解决方案。
由此而来的另一个问题是:可以通过 实现期望的行为CDash吗?
是的,CTest 确实有宏来实现这一点 [1]:
CTEST_CUSTOM_PRE_TEST在测试阶段运行任何测试之前执行的命令CTEST_CUSTOM_POST_TEST在测试阶段运行任何测试后执行的命令要激活这些宏以cmake供使用ctest,必须以某种方式将它们放入构建目录中。看来,需要两个步骤:
(1)scriptdir/CTestCustom.cmake.in在源代码树中的某个位置有一个脚本,其中包含
set(CTEST_CUSTOM_POST_TEST "echo AFTER_THE_TEST")
Run Code Online (Sandbox Code Playgroud)
或任何命令而不是“echo”
(2)CMakeLists.txt打电话
configure_file("scriptdir/CTestCustom.cmake.in" ${CMAKE_BINARY_DIR}/CTestCustom.cmake)
Run Code Online (Sandbox Code Playgroud)
这样在配置阶段,CTest 配置文件就会被放置CTestCustom.cmake在构建目录中的首选名称 [2] 下。
[1] https://cmake.org/Wiki/CMake/Testing_With_CTest [2] https://blog.kitware.com/ctest-performance-tip-use-ctestcustom-cmake-not-ctest/
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |