From 94de6eefbe96b287d8675b9a28df12d9e0587093 Mon Sep 17 00:00:00 2001 From: Rick Poyner Date: Thu, 29 Aug 2024 12:27:57 -0400 Subject: [PATCH 1/2] Complain if kcov_tool fails --- driver/configurations/bazel/step-build.cmake | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/driver/configurations/bazel/step-build.cmake b/driver/configurations/bazel/step-build.cmake index 5d8d35b..a6b42de 100644 --- a/driver/configurations/bazel/step-build.cmake +++ b/driver/configurations/bazel/step-build.cmake @@ -140,9 +140,21 @@ endif() if(COVERAGE) set(KCOV_TOOL "${DASHBOARD_SOURCE_DIRECTORY}/tools/dynamic_analysis/kcov_tool") - execute_process(COMMAND "${KCOV_TOOL}" ci_merge) + execute_process( + COMMAND "${KCOV_TOOL}" ci_merge + COMMAND_ECHO STDERR + OUTPUT_VARIABLE KCOV_MERGE_LOG + ERROR_VARIABLE KCOV_MERGE_LOG + RESULT_VARIABLE KCOV_MERGE_RESULT_VARIABLE) + if(NOT KCOV_MERGE_RESULT_VARIABLE EQUAL 0) + message("kcov log: ${KCOV_MERGE_LOG}") + fatal("kcov merge failed") + endif() set(KCOV_MERGED "${DASHBOARD_SOURCE_DIRECTORY}/bazel-kcov/kcov-merged") - execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${KCOV_MERGED}/cobertura.xml" "${KCOV_MERGED}/coverage.xml") + execute_process( + COMMAND "${CMAKE_COMMAND}" -E copy "${KCOV_MERGED}/cobertura.xml" "${KCOV_MERGED}/coverage.xml" + COMMAND_ECHO STDERR + COMMAND_ERROR_IS_FATAL ANY) set(ENV{COBERTURADIR} "${KCOV_MERGED}") ctest_coverage(RETURN_VALUE DASHBOARD_COVERAGE_RETURN_VALUE CAPTURE_CMAKE_ERROR DASHBOARD_COVERAGE_CAPTURE_CMAKE_ERROR From c54b91e4919682052640b679549a7f7bb3e2ccc0 Mon Sep 17 00:00:00 2001 From: "betsy.mcphail" Date: Fri, 13 Sep 2024 17:20:08 -0400 Subject: [PATCH 2/2] Report coverage errors so results will still be submitted to CDash --- driver/configurations/bazel/step-build.cmake | 58 +++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/driver/configurations/bazel/step-build.cmake b/driver/configurations/bazel/step-build.cmake index a6b42de..4b054fa 100644 --- a/driver/configurations/bazel/step-build.cmake +++ b/driver/configurations/bazel/step-build.cmake @@ -143,34 +143,38 @@ if(COVERAGE) execute_process( COMMAND "${KCOV_TOOL}" ci_merge COMMAND_ECHO STDERR - OUTPUT_VARIABLE KCOV_MERGE_LOG - ERROR_VARIABLE KCOV_MERGE_LOG - RESULT_VARIABLE KCOV_MERGE_RESULT_VARIABLE) + RESULT_VARIABLE KCOV_MERGE_RESULT_VARIABLE + ) if(NOT KCOV_MERGE_RESULT_VARIABLE EQUAL 0) - message("kcov log: ${KCOV_MERGE_LOG}") - fatal("kcov merge failed") - endif() - set(KCOV_MERGED "${DASHBOARD_SOURCE_DIRECTORY}/bazel-kcov/kcov-merged") - execute_process( - COMMAND "${CMAKE_COMMAND}" -E copy "${KCOV_MERGED}/cobertura.xml" "${KCOV_MERGED}/coverage.xml" - COMMAND_ECHO STDERR - COMMAND_ERROR_IS_FATAL ANY) - set(ENV{COBERTURADIR} "${KCOV_MERGED}") - ctest_coverage(RETURN_VALUE DASHBOARD_COVERAGE_RETURN_VALUE - CAPTURE_CMAKE_ERROR DASHBOARD_COVERAGE_CAPTURE_CMAKE_ERROR - QUIET) - if(NOT DASHBOARD_COVERAGE_RETURN_VALUE EQUAL 0 OR DASHBOARD_COVERAGE_CAPTURE_CMAKE_ERROR EQUAL -1) - message(WARNING "*** CTest coverage step was not successful") - endif() - if(DASHBOARD_SUBMIT) - ctest_submit(PARTS Coverage - RETRY_COUNT 4 - RETRY_DELAY 15 - RETURN_VALUE DASHBOARD_SUBMIT_COVERAGE_RETURN_VALUE - CAPTURE_CMAKE_ERROR DASHBOARD_SUBMIT_COVERAGE_CAPTURE_CMAKE_ERROR - QUIET) - if(NOT DASHBOARD_SUBMIT_COVERAGE_RETURN_VALUE EQUAL 0 OR DASHBOARD_SUBMIT_COVERAGE_CAPTURE_CMAKE_ERROR EQUAL -1) - message(WARNING "*** CTest submit coverage part was not successful") + append_step_status("COVERAGE" UNSTABLE) + else() + set(KCOV_MERGED "${DASHBOARD_SOURCE_DIRECTORY}/bazel-kcov/kcov-merged") + execute_process( + COMMAND "${CMAKE_COMMAND}" -E copy "${KCOV_MERGED}/cobertura.xml" "${KCOV_MERGED}/coverage.xml" + COMMAND_ECHO STDERR + RESULT_VARIABLE KCOV_COPY_RESULT_VARIABLE) + if(NOT KCOV_COPY_RESULT_VARIABLE EQUAL 0) + append_step_status("COVERAGE" UNSTABLE) + else() + set(ENV{COBERTURADIR} "${KCOV_MERGED}") + ctest_coverage(RETURN_VALUE DASHBOARD_COVERAGE_RETURN_VALUE + CAPTURE_CMAKE_ERROR DASHBOARD_COVERAGE_CAPTURE_CMAKE_ERROR + QUIET) + if(NOT DASHBOARD_COVERAGE_RETURN_VALUE EQUAL 0 OR DASHBOARD_COVERAGE_CAPTURE_CMAKE_ERROR EQUAL -1) + append_step_status("COVERAGE" UNSTABLE) + endif() + + if(DASHBOARD_SUBMIT) + ctest_submit(PARTS Coverage + RETRY_COUNT 4 + RETRY_DELAY 15 + RETURN_VALUE DASHBOARD_SUBMIT_COVERAGE_RETURN_VALUE + CAPTURE_CMAKE_ERROR DASHBOARD_SUBMIT_COVERAGE_CAPTURE_CMAKE_ERROR + QUIET) + if(NOT DASHBOARD_SUBMIT_COVERAGE_RETURN_VALUE EQUAL 0 OR DASHBOARD_SUBMIT_COVERAGE_CAPTURE_CMAKE_ERROR EQUAL -1) + message(WARNING "*** CTest submit coverage part was not successful") + endif() + endif() endif() endif() endif()