mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 08:17:01 +00:00
8c7cf901bd
Original commit message from CVS: added support for html unit test coverage reports
133 lines
3 KiB
Makefile
133 lines
3 KiB
Makefile
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
|
|
if BUILD_DOCS
|
|
SUBDIRS_DOCS = docs
|
|
else
|
|
SUBDIRS_DOCS =
|
|
endif
|
|
|
|
if BUILD_TESTS
|
|
## SUBDIRS_TESTS = tests testsuite
|
|
## FIXME: write tests from scratch
|
|
SUBDIRS_TESTS =
|
|
if HAVE_CHECK
|
|
SUBDIRS_CHECK = check
|
|
else
|
|
SUBDIRS_CHECK =
|
|
endif
|
|
else
|
|
SUBDIRS_TESTS =
|
|
SUBDIRS_CHECK =
|
|
endif
|
|
|
|
if BUILD_EXAMPLES
|
|
## FIXME: write examples from scratch
|
|
# SUBDIRS_EXAMPLES = examples
|
|
SUBDIRS_EXAMPLES =
|
|
else
|
|
SUBDIRS_EXAMPLES =
|
|
endif
|
|
|
|
all-local: gst-element-check-@GST_MAJORMINOR@.m4
|
|
|
|
gst-element-check-@GST_MAJORMINOR@.m4: gst-element-check.m4
|
|
cp $(srcdir)/gst-element-check.m4 gst-element-check-@GST_MAJORMINOR@.m4
|
|
|
|
ACLOCAL_AMFLAGS = -I common/m4
|
|
|
|
aclocaldir = $(datadir)/aclocal
|
|
aclocal_DATA = gst-element-check-@GST_MAJORMINOR@.m4
|
|
|
|
SUBDIRS = \
|
|
include gst libs tools \
|
|
$(SUBDIRS_CHECK) \
|
|
$(SUBDIRS_TESTS) \
|
|
$(SUBDIRS_EXAMPLES) \
|
|
pkgconfig po \
|
|
common \
|
|
$(SUBDIRS_DOCS)
|
|
|
|
# These are all the possible subdirs
|
|
DIST_SUBDIRS = \
|
|
include libs gst \
|
|
tools \
|
|
check \
|
|
tests testsuite \
|
|
examples \
|
|
pkgconfig \
|
|
po \
|
|
common \
|
|
docs
|
|
|
|
win32 = $(shell cat $(top_srcdir)/win32/MANIFEST)
|
|
|
|
debug:
|
|
echo $(win32)
|
|
EXTRA_DIST = \
|
|
gstreamer.spec gstreamer.spec.in gst-element-check.m4 \
|
|
configure.ac autogen.sh depcomp \
|
|
REQUIREMENTS ABOUT-NLS DOCBUILDING DEVEL RELEASE \
|
|
$(win32) \
|
|
idiottest.mak
|
|
|
|
CLEANFILES = gst-element-check-@GST_MAJORMINOR@.m4
|
|
|
|
include $(top_srcdir)/idiottest.mak
|
|
include $(top_srcdir)/common/release.mak
|
|
include $(top_srcdir)/common/po.mak
|
|
|
|
|
|
if GST_GCOV_ENABLED
|
|
clean-gcov:
|
|
find -name "*.da" -o -name "*.gcov" | xargs rm || true
|
|
|
|
clean-bbg:
|
|
find -name "*.bbg" -o -name "*.bb" | xargs rm || true
|
|
|
|
GCOV_DIRS=gst libs
|
|
|
|
## .PHONY so it always rebuilds it
|
|
.PHONY: coverage-report.txt test-coverage-report.html
|
|
|
|
coverage-report.txt:
|
|
BBG_FILES=`find $(GCOV_DIRS) -name "*.bbg"` ; \
|
|
C_FILES= ; \
|
|
for F in $$BBG_FILES ; do \
|
|
F_nolibs=`echo $$F | sed -e 's/.libs\///g'` ; \
|
|
C=`echo $$F_nolibs | sed -e 's/.bbg/.c/g'` ; \
|
|
B=`basename $$F .bbg` ; \
|
|
D=`dirname $$F` ; \
|
|
DA=`echo $$F | sed -e 's/.bbg/.da/g'` ; \
|
|
DA_libs=`echo $$D/.libs/$$B/.da` ; \
|
|
if test -e $$DA || test -e $$DA_libs; then \
|
|
C_FILES="$$C_FILES $$C" ; \
|
|
fi ; \
|
|
done ; \
|
|
echo $$C_FILES ; \
|
|
$(top_builddir)/testsuite/decode-gcov --report $$C_FILES > coverage-report.txt
|
|
|
|
test-coverage-report.html:
|
|
mkdir -p ./coverage
|
|
lcov --directory . --zerocounters
|
|
$(MAKE) check
|
|
## workaround for lcov not liking libtool
|
|
for file in `find . -name "*.da" | grep "\.libs" ` ;do \
|
|
mv $$file `echo $$file | sed -e 's/\/\.libs//'`; \
|
|
done
|
|
lcov --directory . --capture --output-file ./coverage/$(PACKAGE).info
|
|
genhtml -o ./coverage --num-spaces 2 ./coverage/$(PACKAGE).info
|
|
|
|
check-coverage: clean-gcov all check coverage-report.txt
|
|
cat coverage-report.txt
|
|
|
|
else
|
|
coverage-report.txt:
|
|
echo "Need to reconfigure with --enable-gcov"
|
|
|
|
test-coverage-report.html:
|
|
echo "Need to reconfigure with --enable-gcov"
|
|
|
|
check-coverage:
|
|
echo "Need to reconfigure with --enable-gcov"
|
|
endif
|