diff options
Diffstat (limited to 'infra/nnfw/command/gen-coverage-report')
-rw-r--r-- | infra/nnfw/command/gen-coverage-report | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/infra/nnfw/command/gen-coverage-report b/infra/nnfw/command/gen-coverage-report new file mode 100644 index 000000000..8fd398db3 --- /dev/null +++ b/infra/nnfw/command/gen-coverage-report @@ -0,0 +1,59 @@ +#!/bin/bash + +# This file is based on https://github.sec.samsung.net/STAR/nncc/pull/80 + +LCOV_PATH=$(command -v lcov) +GENHTML_PATH=$(command -v genhtml) + +SRC_PREFIX=${SRC_PREFIX:-${NNFW_PROJECT_PATH}} + +if [[ -z "${LCOV_PATH}" ]]; then + echo "ERROR: 'lcov' is not found" + exit 255 +fi + +if [[ -z "${GENHTML_PATH}" ]]; then + echo "ERROR: 'genhtml' is not found" + exit 255 +fi + +if [[ -z "${GCOV_PATH}" ]]; then + GCOV_PATH=$(command -v gcov) + if [[ -z "${GCOV_PATH}" ]]; then + echo "ERROR: 'gcov' is not found" + exit 255 + fi +fi + +OUTPUT_PATH="$1" + +if [[ -z "${OUTPUT_PATH}" ]]; then + OUTPUT_PATH="$NNFW_PROJECT_PATH/coverage" +fi + +if [[ -e "${OUTPUT_PATH}" ]]; then + echo "ERROR: '${OUTPUT_PATH}' already exists" + exit 255 +fi + +mkdir -p "${OUTPUT_PATH}" + +RAW_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.raw.info" +LIBS_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.libs.info" +INCLUDE_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.include.info" +RUNTIMES_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.runtimes.info" +TOOLS_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.tools.info" +FINAL_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.info" +HTML_PATH="${OUTPUT_PATH}/html" +COVERTURA_PATH="${OUTPUT_PATH}/nnfw_coverage.xml" + +"${LCOV_PATH}" -c -d "${NNFW_PROJECT_PATH}" --gcov-tool ${GCOV_PATH} -o "${RAW_COVERAGE_INFO_PATH}" +#"${LCOV_PATH}" -e "${RAW_COVERAGE_INFO_PATH}" -o "${LIBS_COVERAGE_INFO_PATH}" "${SRC_PREFIX}/libs/*" +#"${LCOV_PATH}" -e "${RAW_COVERAGE_INFO_PATH}" -o "${INCLUDE_COVERAGE_INFO_PATH}" "${SRC_PREFIX}/include/*" +"${LCOV_PATH}" -e "${RAW_COVERAGE_INFO_PATH}" -o "${RUNTIMES_COVERAGE_INFO_PATH}" "${SRC_PREFIX}/runtimes/*" +"${LCOV_PATH}" -e "${RAW_COVERAGE_INFO_PATH}" -o "${TOOLS_COVERAGE_INFO_PATH}" "${SRC_PREFIX}/tests/tools/*" +#"${LCOV_PATH}" -a "${LIBS_COVERAGE_INFO_PATH}" -a "${INCLUDE_COVERAGE_INFO_PATH}" \ +# -a "${RUNTIMES_COVERAGE_INFO_PATH}" -a "${TOOLS_COVERAGE_INFO_PATH}" \ +# -o "${FINAL_COVERAGE_INFO_PATH}" +"${LCOV_PATH}" -a "${RUNTIMES_COVERAGE_INFO_PATH}" -a "${TOOLS_COVERAGE_INFO_PATH}" -o "${FINAL_COVERAGE_INFO_PATH}" +"${GENHTML_PATH}" "${FINAL_COVERAGE_INFO_PATH}" --output-directory "${HTML_PATH}" ${GENHTML_FLAG:-} |