diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-12-02 10:06:21 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-12-02 10:06:21 +0100 |
commit | fd841e416881cc0392e61ec312c1870f3a0004bd (patch) | |
tree | 8357ba56e79d614ba57f722e7878b853591dc339 /tests/coverage.sh |
Initial import of libmongo-client version 0.1.8-2
Diffstat (limited to 'tests/coverage.sh')
-rwxr-xr-x | tests/coverage.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/coverage.sh b/tests/coverage.sh new file mode 100755 index 0000000..f3a32f4 --- /dev/null +++ b/tests/coverage.sh @@ -0,0 +1,43 @@ +#! /bin/sh + +install -d coverage +rm -f coverage/report.txt + +for src in ${SOURCES}; do + case "$src" in + *.c) + obj=`echo $src | sed 's|\.c|.o|'` + gc=`echo $src | sed 's|\.c|.gcno|'` + if test -f "${builddir}/.libs/libmongo_client_la-$obj"; then + objdir=${builddir}/.libs + else + objdir=${builddir} + fi + if ! test -f "${objdir}/libmongo_client_la-${gc}"; then + continue + fi + gcov -b -f ${srcdir}/$src -o $objdir/libmongo_client_la-$obj >coverage/$src.cov + ;; + esac +done + +perl ${top_srcdir}/tests/tools/coverage-report.pl coverage/*.cov >coverage/index.xml +xsltproc ${top_srcdir}/tests/tools/coverage-report.xsl coverage/index.xml >coverage/index.html + +for src in ${SOURCES}; do + case "$src" in + *.c) + if ! test -f "${src}.gcov"; then + continue + fi + + perl ${top_srcdir}/tests/tools/coverage-report-entry.pl ${src}.gcov > coverage/${src}.gcov.html + grep -A4 -m 1 "File '${srcdir}/$src'" coverage/$src.cov | grep -v "^--" >>coverage/report.txt + echo >>coverage/report.txt + ;; + esac +done + +coverage=`(echo "scale=2"; echo -n "("; echo -n $(grep "Lines executed" coverage/report.txt | cut -d: -f2 | cut -d "%" -f 1) | sed -e "s, , + ,g"; echo ") / " $(grep -c "Lines executed" coverage/report.txt)) | bc -q` +lines=`(echo -n "("; echo -n $(grep "Lines executed" coverage/report.txt | cut -d% -f2- | cut -d " " -f3-) | sed -e "s, , + ,g"; echo ")") | bc -q` +echo "Overall coverage: $coverage% of $lines source lines" >>coverage/report.txt |