Arw*_*ett 8 c valgrind cmake ctest
我想用 ctest 用 valgrind 运行我的测试。因此,我在我的 cmake 文件中写了以下内容:
include(CTest)
find_program(MEMORYCHECK_COMMAND valgrind)
set(MEMORYCHECK_COMMAND_OPTIONS "--leak-check=full --error-exitcode=1")
set(MEMORYCHECK_SUPPRESSIONS_FILE "${PROJECT_SOURCE_DIR}/.valgrind-suppressions")
Run Code Online (Sandbox Code Playgroud)
这似乎有效。当我ctest -D ExperimentalMemCheck .在一个泄漏的程序上运行时,它向我显示它发现了内存泄漏,但没有以状态 != 0 退出。
如何在失败时获得退出代码 1?
phd*_*phd -1
默认情况下,valgrind memcheck 退出时会出现明确且可能的泄漏类型错误。
您可能希望通过使用 --errors-for-leak-kinds 获得更多导致错误退出的泄漏类型:
Run Code Online (Sandbox Code Playgroud)--errors-for-leak-kinds=kind1,kind2,.. which leak kinds are errors? [definite,possible] where kind is one of: definite indirect possible reachable all none
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |