hickory-dns/scripts/kcov.sh
2019-12-19 13:11:39 -08:00

19 lines
718 B
Bash
Executable File

#!/bin/bash
# $1 is the binary to run, all other parameteres after are optional and passed to the binary
KCOV=${KCOV_BINARY:?}
if ! ${KCOV:?} --version &> /dev/null ; then echo "${KCOV} executable not found" ; exit 1 ; fi
if ! [ -d ${KCOV_TARGET_DIRECTORY:?} ] ; then echo "target dir does not exist: ${KCOV_TARGET_DIRECTORY:?}"; exit 1 ; fi
# always place coverage reports in a unique directory for each binary...
COVERAGE_OUTPUT_DIR=${KCOV_TARGET_DIRECTORY:?}/$(basename ${1:?})
mkdir -p ${COVERAGE_OUTPUT_DIR:?}
# run kcov
KCOV_CALL="${KCOV:?} --include-pattern=${KCOV_INCLUDE_PATTERN:?} ${KCOV_EXCLUDE_LINE_ARG} ${KCOV_EXCLUDE_REGION_ARG} ${COVERAGE_OUTPUT_DIR:?} $@"
echo ${KCOV_CALL:?}
exec ${KCOV_CALL:?}