OpenPAM/misc/coverage.sh.in

35 lines
797 B
Bash

#!/bin/sh
usage() {
echo "usage: ${0##*/} [-jN]" >&2
exit 1
}
while getopts "j:" opt ; do
case $opt in
j)
j="-j$OPTARG"
;;
*)
usage
;;
esac
done
if ! [ "@enable_code_coverage@" = "yes" ] ; then
echo "Code coverage disabled." >&2
echo "Re-run ./configure with --enable-code-coverage and try again." >&2
exit 1
fi
srcdir="@abs_top_srcdir@"
profdir="@abs_top_builddir@/cov"
profraw="${profdir}/@PACKAGE@.%p.raw"
profdata="${profdir}/@PACKAGE@.profdata"
export LLVM_PROFILE_FILE="${profraw}"
[ -e "${profdir}" ] && rm -r "${profdir}"
gmake -C "${srcdir}" $j check
llvm-profdata merge -sparse "${profdir}/@PACKAGE@".*.raw -o "${profdata}"
llvm-cov show -instr-profile="${profdata}" -format=html -output-dir="${profdir}" \
--object "@abs_top_builddir@/lib/libpam/.libs/libpam.so"