Conan, CMake.test () генерирует XML отчет - PullRequest
2 голосов
/ 09 января 2020

В настоящее время я занимаюсь внедрением Conan.io (версия 1.20.5) в мой проект.

В Cmake.test () мне не хватает тестового отчета XML, который был ранее сгенерирован путем прямого вызова ctest -T test.

Вот выдержка из conanfile.py build ():

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

Комментарии:

1.) Определение аргументов для сборки () нарушает сборку, так как Похоже, что аргументы направляются _build (): https://github.com/conan-io/conan/blob/812c8ec8185e24b2bc41fb6e855d35c925526670/conans/client/build/cmake.py#L276

С уважением, Кристиан

1 Ответ

3 голосов
/ 09 января 2020

Вы хотите передать аргумент 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 file.

С уважением!

...