首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于CMakeLists.txt中的特定项目,将ctest命令永久替换为"ctest --输出失败“。

对于CMakeLists.txt中的特定项目,将ctest命令永久替换为"ctest --输出失败“。
EN

Stack Overflow用户
提问于 2016-04-19 18:25:48
回答 2查看 4.5K关注 0票数 17

我发现泛型ctest命令并没有给出很多关于测试的信息,所以我想添加ctest --output-on-failure,但不让用户担心标记。我希望它们只运行cmakemake项目并运行ctest,它应该使用 --output-on-failure标志运行ctest 。在CMakeLists.txt中可以这样做吗?

编辑:

env CTEST_OUTPUT_ON_FAILURE=1 make test输出

代码语言:javascript
复制
 4/13 Test  #4: TEST_SSSP ........................***Failed  Required regular expression not found.Regex=[CORRECT
]  0.00 sec
Loading Matrix-market coordinate-formatted graph ...
Input graph file /home/muhammad/gunrock/dataset/small/chesapeake.mtx does not exis

set_property(TEST TestName PROPERTY ENVIRONMENT "CTEST_OUTPUT_ON_FAILURE=1")输出

代码语言:javascript
复制
 4/13 Test  #4: TEST_SSSP ........................***Failed  Required regular expression not found.Regex=[CORRECT
]  0.00 sec

set_property中的标志不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-19 15:15:36

在CMake 3.17 发布说明中,有一个新变量论辩,您可以将它设置为将任何命令行参数传递给CTest,包括--output-on-failure。在您的具体情况下,现在只需将其添加到您的CMakeLists.txt中:

代码语言:javascript
复制
list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure")
票数 22
EN

Stack Overflow用户

发布于 2016-04-19 20:44:03

我使用了每个解决方案的make checkCMake:为ctest设置一个环境变量(或者从ctest/make自动获得失败的测试输出)

代码语言:javascript
复制
add_custom_target(check ${CMAKE_COMMAND} -E env CTEST_OUTPUT_ON_FAILURE=1
                  ${CMAKE_CTEST_COMMAND} -C $<CONFIG> --verbose
                  WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36726545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档