CMake测试的详细输出



如何让"make test"显示详细输出?我希望"maketest"通过命令行执行与ctest-V相同的操作。

我尝试将以下内容添加到我的CMakeLists.txt中,但没有成功:(

set(ENV{CTEST_OUTPUT_ON_FAILURE} TRUE)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose)
add_custom_command(TARGET test PRE_BUILD
               COMMAND ${CMAKE_CTEST_COMMAND} -V)

但当我运行make测试时,我仍然会得到这个:

  Start   1: unittest1
  1/143 Test   #1: unittest1 ....................................   Passed    0.01 sec
        Start   2: unittest2
  2/143 Test   #2: unittest2 ............................   Passed    0.03 sec
        Start   3: unittest3
  3/143 Test   #3: unittest3 ....................   Passed    0.02 sec

为了澄清,我想在我的CMakeLists.txt中添加一些东西来实现这一点,我不希望手动解决方案要求我在命令行(如)中添加一些"进行测试"的东西

CTEST_OUTPUT_ON_FAILURE=TRUE make test

ctest -V 

我的问题类似于使用cmake如何从ctest获得详细输出

来自GNU Radio关于对树外模块进行测试的wiki页面(由Braun先生提供):

从构建目录(通常)运行ctest -V,它将为您提供详细信息。添加-R regex以仅执行与regex匹配的测试。

现在,对我来说,在失败时重新运行测试似乎很有意义——而且不是在每个make test上都自动执行,因为测试可能很耗时,而且默认情况下不应该在坏的构建环境中重复,等等。

如何将该行为添加到默认的make test行为中当然取决于您的CMake基础设施,如果不仔细阅读您的代码,我就无法回答这个问题。

相关内容

  • 没有找到相关文章

最新更新