cmake/ctest valgrind 输出为 xml

cmake/ctest with valgrind output as xml

我目前正在使用 valgrind 检查我的单元测试

ctest -T memcheck

我想通过设置

创建一个 XML 输出

MEMORYCHECK_COMMAND_OPTIONS="--xml=yes --xml-file=valgrind.xml

现在的问题是我只获得了最后一个测试用例的日志文件 运行。所有其他的都被覆盖。

我需要但未在文档中找到的是将测试名称或测试编号添加到 xml 日志文件名称。

知道如何获得它们吗?

Valgrind --log-file 或 --xml-file 参数可以使用 %p 插入 pid nr 或 使用 %q{FOO} 在文件名中插入环境变量 FOO 值。

因此,如果您可以将 Testname 或 Testnumber 放在环境变量中,%q 是最好的。否则,如果您没有太多测试,%p 可能会有所帮助。如果 当您 运行 您的测试时,pid nr 不会被回收得太快。

有关详细信息,请参阅 https://www.valgrind.org/docs/manual/manual-core.html#opt.log-file