diff --git a/compat/Makefile.am b/compat/Makefile.am index bb98dfd..c6649f6 100644 --- a/compat/Makefile.am +++ b/compat/Makefile.am @@ -10,4 +10,4 @@ AM_CPPFLAGS = @EZ_CPPFLAGS@ AM_CFLAGS = @EZ_CFLAGS@ AM_LDFLAGS = @EZ_LDFLAGS@ -avoid-version -CLEANFILES = *~ *.core core +CLEANFILES = *~ *.core core *.gcno *.gcda diff --git a/gen-coverage-report.sh b/gen-coverage-report.sh new file mode 100755 index 0000000..c637c2f --- /dev/null +++ b/gen-coverage-report.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +PROGRAM="ezstream" + +set -e + +trap '' 1 +trap 'exit 1' 2 15 + +BUILD_DATE=$(date '+%Y%m%d') +DESTDIR=$PROGRAM-coverage-$BUILD_DATE + +if [ -z "$(which lcov)" ]; then + echo "lcov is required" >&2 + exit 1 +fi +if [ -z "$(which genhtml)" ]; then + echo "genhtml is required" >&2 + exit 1 +fi + +rm -rf "$DESTDIR" + +./configure CFLAGS='-O0 -fprofile-arcs -ftest-coverage' +make clean +make check + +mkdir -p $DESTDIR +lcov --capture --output-file $DESTDIR/coverage.tmp \ + --rc lcov_branch_coverage=1 \ + --directory src \ + --test-name "Ezstream $VERSION" +genhtml --prefix . --output-directory $DESTDIR \ + --branch-coverage --function-coverage \ + --rc lcov_branch_coverage=1 \ + --title "Ezstream $VERSION" --legend --show-detail $DESTDIR/coverage.tmp + +echo "Coverage report available under $DESTDIR" diff --git a/src/Makefile.am b/src/Makefile.am index 9fabef4..dcb9568 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -42,4 +42,4 @@ AM_CPPFLAGS = @EZ_CPPFLAGS@ -I$(top_srcdir)/compat AM_CFLAGS = @EZ_CFLAGS@ AM_LDFLAGS = @EZ_LDFLAGS@ -avoid-version -CLEANFILES = core *.core *~ .*~ +CLEANFILES = core *.core *~ .*~ *.gcno *.gcda diff --git a/tests/Makefile.am b/tests/Makefile.am index 8d0a5e5..72a8a33 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -24,4 +24,4 @@ AM_LDFLAGS = @EZ_LDFLAGS@ EXTRA_DIST = compat.h -CLEANFILES = *~ *.core core +CLEANFILES = *~ *.core core *.gcno *.gcda