19 lines
718 B
Bash
Executable File
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:?} |