diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-05 15:10:09 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-05 15:22:53 +0900 |
commit | d91a039e0eda6fd70dcd22672b8ce1817c1ca50e (patch) | |
tree | 62668ec548cf31fadbbf4e99522999ad13434a25 /infra/command/gen-coverage-report | |
parent | bd11b24234d7d43dfe05a81c520aa01ffad06e42 (diff) | |
download | nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.tar.gz nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.tar.bz2 nnfw-d91a039e0eda6fd70dcd22672b8ce1817c1ca50e.zip |
catch up to tizen_5.5 and remove unness dir
- update to tizen_5.5
- remove dirs
Diffstat (limited to 'infra/command/gen-coverage-report')
-rw-r--r-- | infra/command/gen-coverage-report | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/infra/command/gen-coverage-report b/infra/command/gen-coverage-report new file mode 100644 index 000000000..5f928eca5 --- /dev/null +++ b/infra/command/gen-coverage-report @@ -0,0 +1,78 @@ +#!/bin/bash + +import "build.configuration" + +BUILD_WORKSPACE_PATH="${NNAS_PROJECT_PATH}/${BUILD_WORKSPACE_RPATH}" + +LCOV_PATH=$(command -v lcov) +GENHTML_PATH=$(command -v genhtml) + +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_TAG="${NNAS_COVERAGE:-coverage}" +OUTPUT_PATH="${NNAS_COVERAGE_PATH:-${NNAS_PROJECT_PATH}/${OUTPUT_TAG}}" + +if [[ -e "${OUTPUT_PATH}" ]]; then + echo "ERROR: '${OUTPUT_PATH}' already exists" + exit 255 +fi + +mkdir -p "${OUTPUT_PATH}" + +RAW_BASE_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.base.raw.info" +RAW_TEST_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.test.raw.info" +RAW_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.raw.info" +EXTRACTED_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.extracted.info" +EXCLUDED_COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.excluded.info" +COVERAGE_INFO_PATH="${OUTPUT_PATH}/coverage.info" +HTML_PATH="${OUTPUT_PATH}/html" + +CANDIDATES=() + +for CANDIDATE in "$@"; +do + CANDIDATES+=("${NNAS_PROJECT_PATH}/${CANDIDATE}/*") +done + +# Capture initial zero coverage data +"${LCOV_PATH}" -c -i -d "${BUILD_WORKSPACE_PATH}" --gcov-tool ${GCOV_PATH} -o "${RAW_BASE_COVERAGE_INFO_PATH}" + +# Capture tests coverage data +"${LCOV_PATH}" -c -d "${BUILD_WORKSPACE_PATH}" --gcov-tool ${GCOV_PATH} -o "${RAW_TEST_COVERAGE_INFO_PATH}" + +# Append zero coverage data and tests coverage data +"${LCOV_PATH}" -o "${RAW_COVERAGE_INFO_PATH}" \ + -a "${RAW_BASE_COVERAGE_INFO_PATH}" \ + -a "${RAW_TEST_COVERAGE_INFO_PATH}" + +# Extract data for particular pathes +"${LCOV_PATH}" -e "${RAW_COVERAGE_INFO_PATH}" -o "${EXTRACTED_COVERAGE_INFO_PATH}" \ + "${CANDIDATES[@]}" + +# Exclude *.test.cpp files from coverage report +"${LCOV_PATH}" -r "${EXTRACTED_COVERAGE_INFO_PATH}" -o "${EXCLUDED_COVERAGE_INFO_PATH}" \ + '*.test.cpp' + +# Final coverage data +cp -v ${EXCLUDED_COVERAGE_INFO_PATH} ${COVERAGE_INFO_PATH} + +# Gen html +"${GENHTML_PATH}" "${EXCLUDED_COVERAGE_INFO_PATH}" \ + --prefix "${NNAS_PROJECT_PATH}" \ + --output-directory "${HTML_PATH}" |