123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/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
|