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

Conan, CMake.test() generate XML report

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

使用Cmake.test(),我遗漏了之前通过直接调用ctest -T test生成的XML测试报告。

这里是 conanfile.py build() 摘录:

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

评论:

1.) 为 build() 定义 args 正在破坏构建,因为这些 args 似乎被转发到 _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 文件结果。

此致!