1 include $(top_srcdir)/common/check.mak
3 CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg
5 GST_TOOLS_DIR = $(top_builddir)/tools
7 REGISTRY_ENVIRONMENT = \
8 GST_REGISTRY=$(CHECK_REGISTRY)
11 STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)" \
12 $(REGISTRY_ENVIRONMENT) \
13 GST_PLUGIN_SYSTEM_PATH= \
14 GST_PLUGIN_PATH=$(top_builddir)/plugins
16 plugindir = $(libdir)/gstreamer-@GST_MAJORMINOR@
18 # override to _not_ install the test plugins
19 install-pluginLTLIBRARIES:
21 # the core dumps of some machines have PIDs appended, test registry and
23 CLEANFILES = core core.* test-registry.* *.gcno *.gcda
25 SUPPRESSIONS = $(top_srcdir)/common/gst.supp
27 clean-local: clean-local-check
30 PARSE_CHECKS = pipelines/parse-disabled
32 PARSE_CHECKS = pipelines/simple-launch-lines pipelines/cleanup pipelines/parse-launch
35 if GST_DISABLE_LOADSAVE
38 LOADSAVE_CHECKS = gst/gstxml
41 # if it's calling gst_element_factory_make(), it will probably not work without
43 if GST_DISABLE_REGISTRY
102 libs/gstnetclientclock \
103 libs/gstnettimeprovider \
107 # queue : tests is unstable (race conditions)
113 # elements to ignore for the state tests
114 # STATE_IGNORE_ELEMENTS =
116 TESTS = $(check_PROGRAMS)
124 gst/struct_x86_64.h \
127 libs/struct_ppc32.h \
128 libs/struct_ppc64.h \
131 AM_CFLAGS = $(GST_OBJ_CFLAGS) $(CHECK_CFLAGS)
132 LDADD = $(top_builddir)/libs/gst/check/libgstcheck-@GST_MAJORMINOR@.la \
138 libs_gdp_CFLAGS = $(AM_CFLAGS)
140 $(top_builddir)/libs/gst/dataprotocol/libgstdataprotocol-@GST_MAJORMINOR@.la \
143 elements_fdsrc_CFLAGS=$(GST_OBJ_CFLAGS) $(CHECK_CFLAGS) -DTESTFILE=\"$(top_srcdir)/configure.ac\"
144 elements_filesrc_CFLAGS=$(GST_OBJ_CFLAGS) $(CHECK_CFLAGS) -DTESTFILE=\"$(top_srcdir)/configure.ac\"
146 libs_basesrc_LDADD = \
147 $(top_builddir)/libs/gst/base/libgstbase-@GST_MAJORMINOR@.la \
149 libs_adapter_LDADD = \
150 $(top_builddir)/libs/gst/base/libgstbase-@GST_MAJORMINOR@.la \
152 libs_collectpads_LDADD = \
153 $(top_builddir)/libs/gst/base/libgstbase-@GST_MAJORMINOR@.la \
155 libs_controller_LDADD = \
156 $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_MAJORMINOR@.la \
158 libs_gstnetclientclock_LDADD = \
159 $(top_builddir)/libs/gst/net/libgstnet-@GST_MAJORMINOR@.la \
161 libs_gstnettimeprovider_LDADD = \
162 $(top_builddir)/libs/gst/net/libgstnet-@GST_MAJORMINOR@.la \
164 libs_typefindhelper_LDADD = \
165 $(top_builddir)/libs/gst/base/libgstbase-@GST_MAJORMINOR@.la \
167 libs_transform1_LDADD = \
168 $(top_builddir)/libs/gst/base/libgstbase-@GST_MAJORMINOR@.la \
172 # these just need valgrind fixing, period
176 pipelines/parse-launch
181 # these need fixing because the threads cause segfaults under valgrind
186 VALGRIND_TESTS_DISABLE = \
191 # indexers does not get tested yet
195 libs/gst/controller \
197 libs/gst/dataprotocol \
200 COVERAGE_FILES = $(foreach dir,$(COVERAGE_DIRS),$(wildcard $(top_builddir)/$(dir)/*.gcov))
201 COVERAGE_FILES_REL = $(subst $(top_builddir)/,,$(COVERAGE_FILES))
202 COVERAGE_OUT_FILES = $(foreach dir,$(COVERAGE_DIRS),$(wildcard $(top_builddir)/$(dir)/*.gcov.out))
203 COVERAGE_OUT_FILES_REL = $(subst $(top_builddir)/,,$(COVERAGE_OUT_FILES))
206 echo $(COVERAGE_FILES)
207 echo $(COVERAGE_FILES_REL)
211 # we rebuild a registry and do gst-inspect so that all the get/set codepaths
214 for file in `find $(top_builddir) -name '*.gcda'`; do rm $$file; done
215 -rm $(CHECK_REGISTRY)
216 echo "Inspecting all elements"
217 for e in `$(GST_INSPECT) | head -n -2 | cut -d: -f2`; do $(GST_INSPECT) $$e > /dev/null 2>&1; done
222 echo "You need to configure with --enable-gcov to get coverage data"
228 for dir in $(COVERAGE_DIRS); do \
229 mkdir -p coverage/$$dir; \
230 make -C $(top_builddir)/$$dir gcov; \
232 for dir in $(COVERAGE_DIRS); do \
233 files="`ls $(top_builddir)/$$dir/*.gcov.out 2> /dev/null`"; \
234 if test ! -z "$$files"; then \
235 perl $(top_srcdir)/common/coverage/coverage-report.pl \
236 $(top_builddir)/$$dir/*.gcov.out > \
237 coverage/$$dir/index.xml; \
238 xsltproc $(top_srcdir)/common/coverage/coverage-report.xsl \
239 coverage/$$dir/index.xml > coverage/$$dir/index.html; \
243 for file in $(COVERAGE_FILES_REL); do \
244 echo Generating coverage/$$file.html; \
245 perl $(top_srcdir)/common/coverage/coverage-report-entry.pl \
246 $(top_builddir)/$$file > coverage/$$file.html; \