Skip to content

Instantly share code, notes, and snippets.

@miyuki
Last active July 2, 2017 17:20
Show Gist options
  • Save miyuki/943efe7d8e0eb72fdd74997c8a10d6c5 to your computer and use it in GitHub Desktop.
Save miyuki/943efe7d8e0eb72fdd74997c8a10d6c5 to your computer and use it in GitHub Desktop.
GCC coverage data postprocessing
#!/bin/bash -ex
BUILD_GCC_DIR="${BUILD_DIR}/gcc"
OUTPUT_DIR="${WORKSPACE}/lcov_output"
TRACE_FILE="${WORKSPACE}/coverage.info"
SUMMARY_FILE="${WORKSPACE}/summary.txt"
# Dirty hack
cp "${SRC_DIR}/gcc/cp/cfns.gperf" "${BUILD_GCC_DIR}/"
rm -f "${TRACE_FILE}"
$LCOV --capture --directory "${BUILD_GCC_DIR}" --output-file "${TRACE_FILE}.tmp"
GGC_FILTER=( )
if [[ ${FILTER_GGC} == 'true' ]]; then
GGC_FILTER=( "${BUILD_GCC_DIR}/gt-*" , "${BUILD_GCC_DIR}/gtype-*" , )
fi
$LCOV --output-file "${TRACE_FILE}" --remove "${TRACE_FILE}.tmp" "${GGC_FILTER[@]}" '/usr/*' '/opt/*'
$LCOV --summary ./coverage.info 2>&1 | tail -n+3 > "${SUMMARY_FILE}"
rm -rf "${OUTPUT_DIR}"
mkdir -p "${OUTPUT_DIR}"
$GENHTML --prefix "${WORKSPACE}" --output-directory "${OUTPUT_DIR}" --num-spaces 8 --highlight \
--legend --title 'GCC Test Coverage Report' --function-coverage --demangle-cpp \
--frames "${TRACE_FILE}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment