2

我正在尝试对使用 CMake+CTest 的项目进行覆盖率分析。我创建了一个简单的 TestingScript.cmake,如下所示:

set(CTEST_SOURCE_DIRECTORY .)
set(CTEST_BINARY_DIRECTORY build_coverage)

ctest_start(TestCoverage)

ctest_coverage(BUILD ${CTEST_BINARY_DIR})

并尝试使用以下方式运行它:

doriad@david-desktop:~/build/Examples/Coverage$ ctest -S ~/src/Examples/Coverage/TestingScript.cmake 
Cannot locate CTest configuration: in BuildDirectory: /home/doriad/build/Examples/Coverage/build_coverage/CTestConfig.cmake
Cannot locate CTest configuration: in SourceDirectory: /home/doriad/build/Examples/Coverage/CTestConfig.cmake
 Cannot find any coverage files. Ignoring Coverage request.

我需要做什么来生成它正在寻找的这个 CTestConfig.cmake 文件?

4

1 回答 1

2

该文件CTestConfig.cmake通常由 CDash 生成。登录 Cdash 后,选择Settings > Project > Miscellaneous > Download CTestConfig。该文件包含将结果提交到仪表板服务器的配置。

该模块的默认设置是将仪表板提交到 Kitware 的 Public Dashboard,您可以在其中免费注册您的项目。

为了提交到其他服务器,CTestConfig.cmake在您的源代码的顶级目录中,并设置您自己的仪表板首选项。如果您使用的是 CDash 服务器,您可以从该服务器上的相应项目页面(设置/项目杂项选项卡)下载预配置文件。

来源:https ://gitlab.kitware.com/cmake/community/wikis/doc/ctest/Testing-With-CTest

另一个问题是您没有要提交的覆盖文件,因为您跳过了测试脚本中的构建测试步骤。

于 2017-01-16T14:34:30.790 回答