柯南,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 文件结果。
此致!
我目前正在将 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 文件结果。
此致!