柯南,CMake.test()生成XML报告

Conan, CMake.test() generate XML report

本文关键字:生成 XML 报告 CMake test 柯南      更新时间:2023-10-16

我目前正在将 Conan.io(版本 1.20.5(引入我的项目。

使用 Cmake.test((,我缺少以前通过直接调用ctest -T test生成的 XML 测试报告。

以下是 build(( conanfile.py 摘录:

def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
cmake.test() 

评论:

1.( 为 build(( 定义参数会破坏构建,因为这些参数似乎被转发到 _build(: https://github.com/conan-io/conan/blob/812c8ec8185e24b2bc41fb6e855d35c925526670/conans/client/build/cmake.py#L276

问候, 克里斯蒂安

你想把一个参数传递给ctest,但柯南调用cmake --build . --target test而不是直接ctest,因此你需要作为额外的参数传递:

def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
cmake.test(args=['--', 'ARGS=-T Test'])

这将产生以下命令:

> cmake --build '/tmp/foo/test_package/build/878b1b6e2d4cbc82452d014e37c38868584457e8' '--target' 'test' 'ARGS=-T Test' '--' '-j4'

现在,您将获得XML文件结果。

问候!