标签: cdash

有关使用CMK/CDash的gcov的详细指南?

我在我的项目中使用CMake并设置了一个用于连续/夜间构建的cdash服务器.一切运作良好,通过设置crontab,我们将每小时/每晚的构建/测试结果自动上传到我们的cdash服务器.

我的下一步是将测试覆盖率报告添加到构建中.我在http://www.cmake.org/Wiki/CTest:Coverage找到了这份文件,但坦率地说,它与实用指南相差甚远.

目前我已经添加了所需的标志(而不是-fprofile-arcs -ftest-coverage,我发现--coverage更好),编译过程生成.gcno文件.但后来我被卡住了.命令

make NightlyCoverage
Run Code Online (Sandbox Code Playgroud)

好像什么也没做.谁能告诉我接下来要做什么?我想要的结果是make NightlyCoverage,生成覆盖率报告并上传到cdash服务器.

c++ testing code-coverage cmake cdash

48
推荐指数
4
解决办法
2万
查看次数

Ctest/CDash工作流程:部署夜间构建

我使用/维护了一些CMake项目,所以我开始检查CTest/CDash,但有些东西是我无法弄清楚的:

它只用于显示构建/测试结果吗?(又名美化原木)

或者:可以在服务器上部署夜间构建二进制文件吗?

尽管我认为CTest是测试CMake项目和显示测试结果的理想工具,但我还想在Web服务器上自动部署夜间构建,我想知道它是否是适合的工具.. .

c++ continuous-integration cmake ctest cdash

8
推荐指数
1
解决办法
1413
查看次数

CTest在make <target>后生成gcov.tar并提交给CDash

我已经在我的本地机器上设置了 CDash,我正在使用 CTest 将测试结果上传到 CDash - 生成包含分支覆盖信息的 .gcov 文件并将它们预先打包到 gcov.tar (这是来自https的示例的修改版本://blog.kitware.com/additional-coverage-features-in-cdash/):

CMakeLists.txt:

cmake_minimum_required(VERSION 3.2)
project(branch_coverage_example)

add_executable(foo foo.cxx)
include(CTest)
add_test(NAME foo COMMAND foo)

include(BranchCoverage)
Run Code Online (Sandbox Code Playgroud)

我的 CMake 模块路径中的BranchCoverage.cmake

if(${CMAKE_BUILD_TYPE} STREQUAL "Profiling")
    option(ALWAYS_GENERATE_BRANCH_COVERAGE_INFO "Run gcov branch coverage as part of the ALL target" ON)

    if(ALWAYS_GENERATE_BRANCH_COVERAGE_INFO)
        add_custom_target(BranchCoverage)

        add_custom_command(TARGET BranchCoverage
            POST_BUILD
            COMMAND ${CMAKE_CTEST_COMMAND} -D ExperimentalSubmit -S cdash_tarball.cmake
            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
            COMMENT "Generating gcov.tar containing branch coverage info..."
            )

        add_dependencies(BranchCoverage Experimental)
    endif()
endif()
Run Code Online (Sandbox Code Playgroud)

CTestConfig.cmake:

## This file should be placed in …
Run Code Online (Sandbox Code Playgroud)

branch code-coverage cmake ctest cdash

6
推荐指数
1
解决办法
724
查看次数

CDash 是一个持续集成系统吗?

前几天我在关于持续集成的对话中提到了CDash。有同事说CDash不是CI系统,是测试系统。我们没有机会详细说明。

CDash 真的不是 CI 系统吗?

那么有什么区别呢?

continuous-integration cdash

3
推荐指数
1
解决办法
857
查看次数