CMake 测试的详细输出
CMake verbose output from tests
如何让 "make test" 显示详细输出?我希望 "make test" 通过命令行执行与 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)
但是当我 运行 进行测试时我仍然得到这个:
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 中添加一些内容以实现此目的,我不想要一个手动解决方案,要求我在命令行中向 "make test" 添加一些内容,例如作为
CTEST_OUTPUT_ON_FAILURE=TRUE make test
或
ctest -V
我的问题类似于Using cmake how do I get verbose output from ctest?。
来自 GNU Radio's wiki 关于对树外模块进行测试的页面(由 Braun 先生提供):
运行 ctest -V
从构建目录(通常),它会给你详细的信息。添加 -R regex
以仅执行匹配 regex
.
的测试
现在,重新 运行 失败测试对我来说似乎很有意义——而且不会自动在每个 make test
上都这样做,因为测试可能是耗时,并且在默认情况下不应在损坏的构建环境等中重复。
如何将该行为添加到默认 make test
行为当然取决于您的 CMake 基础结构,如果不通读您的代码我无法回答这个问题。
如何让 "make test" 显示详细输出?我希望 "make test" 通过命令行执行与 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)
但是当我 运行 进行测试时我仍然得到这个:
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 中添加一些内容以实现此目的,我不想要一个手动解决方案,要求我在命令行中向 "make test" 添加一些内容,例如作为
CTEST_OUTPUT_ON_FAILURE=TRUE make test
或
ctest -V
我的问题类似于Using cmake how do I get verbose output from ctest?。
来自 GNU Radio's wiki 关于对树外模块进行测试的页面(由 Braun 先生提供):
运行 ctest -V
从构建目录(通常),它会给你详细的信息。添加 -R regex
以仅执行匹配 regex
.
现在,重新 运行 失败测试对我来说似乎很有意义——而且不会自动在每个 make test
上都这样做,因为测试可能是耗时,并且在默认情况下不应在损坏的构建环境等中重复。
如何将该行为添加到默认 make test
行为当然取决于您的 CMake 基础结构,如果不通读您的代码我无法回答这个问题。