mirror of https://github.com/asterisk/asterisk
commit
e89f3317ba
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CIDIR=$(dirname $(readlink -fn $0))
|
||||
source $CIDIR/ci.functions
|
||||
|
||||
if [ ! -r main/asterisk.gcno ]; then
|
||||
# Coverage is not enabled.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -z $LCOV_DIR ]; then
|
||||
LCOV_DIR="${OUTPUT_DIR:+${OUTPUT_DIR}/}lcov"
|
||||
fi
|
||||
|
||||
if [ -z $COVERAGE_DIR ]; then
|
||||
COVERAGE_DIR="${OUTPUT_DIR:+${OUTPUT_DIR}/}coverage"
|
||||
fi
|
||||
|
||||
if [ -z $ASTERISK_VERSION ]; then
|
||||
ASTERISK_VERSION=$(./build_tools/make_version .)
|
||||
fi
|
||||
|
||||
set -x
|
||||
# Capture counter data from testing
|
||||
lcov --no-external --capture --directory . --output-file ${LCOV_DIR}/tested.info > /dev/null
|
||||
|
||||
# Combine initial and tested data.
|
||||
lcov \
|
||||
--add-tracefile ${LCOV_DIR}/initial.info \
|
||||
--add-tracefile ${LCOV_DIR}/tested.info \
|
||||
--output-file ${LCOV_DIR}/combined.info > /dev/null
|
||||
|
||||
# We don't care about coverage reporting for tests, utils or third-party.
|
||||
lcov --remove ${LCOV_DIR}/combined.info \
|
||||
"${PWD}/main/dns_test.*" \
|
||||
"${PWD}/main/test.*" \
|
||||
"${PWD}/tests/*" \
|
||||
"${PWD}/utils/*" \
|
||||
"${PWD}/third-party/*" \
|
||||
--output-file ${LCOV_DIR}/filtered.info > /dev/null
|
||||
|
||||
# Generate HTML coverage report.
|
||||
mkdir -p ${COVERAGE_DIR}
|
||||
genhtml --prefix ${PWD} --ignore-errors source ${LCOV_DIR}/filtered.info \
|
||||
--legend --title "Asterisk ${ASTERISK_VERSION}" --output-directory=${COVERAGE_DIR} > /dev/null
|
Loading…
Reference in new issue