【发布时间】:2018-08-03 20:08:56
【问题描述】:
我的构建中有一些可选的测试。我的 CMakeLists.txt 看起来大致如下:
add_custom_target(all-tests)
add_executable(A ...)
add_dependencies(all-tests A)
add_test(NAME A COMMAND ...)
add_executable(B ...)
add_dependencies(all-tests B)
add_test(NAME B COMMAND ...)
## optional
add_executable(C EXCLUDE_FROM_ALL ...)
add_test(NAME C COMMAND ...)
我可以跑步的想法
$ make all-tests
$ ctest
编译我所有的单元测试然后运行它们。问题是,由于C 是可选的,它不会构建(所有需要)。而且由于它没有构建,所以它不存在,并被报告为失败:
The following tests FAILED:
6 - C (Not Run)
Errors while running CTest
有没有办法忽略这个失败/让 CTest 不尝试运行不存在的测试/以其他方式表达可选测试的想法?我有一类具有相似名称的这些可选测试,所以如果它们是构建的,那么能够使用ctest -R 来运行它们会很好,而不必配置一些脚本或其他方法。
【问题讨论】: