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)
10 AM_TESTS_ENVIRONMENT += \
11 GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)" \
12 $(REGISTRY_ENVIRONMENT) \
13 GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
14 GST_PLUGIN_SYSTEM_PATH_1_0= \
15 GST_PLUGIN_PATH_1_0=$(top_builddir)/plugins
17 plugindir = $(libdir)/gstreamer-@GST_API_VERSION@
19 # override to _not_ install the test plugins
20 install-pluginLTLIBRARIES:
22 # the core dumps of some machines have PIDs appended, test registry and
24 CLEANFILES = core core.* test-registry.* *.gcno *.gcda
26 SUPPRESSIONS = $(top_srcdir)/common/gst.supp
28 clean-local: clean-local-check
30 # These tests don't even build any longer:
34 PARSE_CHECKS = pipelines/parse-disabled
36 PARSE_CHECKS = pipelines/simple-launch-lines pipelines/cleanup pipelines/parse-launch
39 # Do not run the abi test in case any option which causes the API to change has
41 if !GST_DISABLE_REGISTRY
42 ABI_CHECKS = gst/gstabi
45 if !GST_DISABLE_GST_DEBUG
46 PRINTF_CHECKS = gst/gstprintf
51 LIBSABI_CHECKS = libs/libsabi
54 CXX_CHECKS = gst/gstcpp libs/gstlibscpp
59 # if it's calling gst_element_factory_make(), it will probably not work without
61 if GST_DISABLE_REGISTRY
71 gst/gstelementfactory \
98 elements/streamiddemux \
105 libs/typefindhelper \
108 pipelines/queue-error
121 gst/gstcapsfeatures \
144 gst/gsttracerrecord \
160 libs/bitreader-noinline \
161 libs/bytereader-noinline \
162 libs/bytewriter-noinline \
167 libs/gstnetclientclock \
168 libs/gstnettimeprovider \
177 # elements to ignore for the state tests
178 # STATE_IGNORE_ELEMENTS =
180 TESTS = $(check_PROGRAMS)
191 gst/struct_x86_64.h \
192 gst/struct_x86_64w.h \
196 libs/struct_ppc32.h \
197 libs/struct_ppc64.h \
198 libs/struct_sparc.h \
202 libs/test_transform.c
204 AM_CFLAGS = $(PTHREAD_CFLAGS) $(GST_OBJ_CFLAGS) -UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS \
205 -DGST_CHECK_TEST_ENVIRONMENT_BEACON="\"GST_STATE_IGNORE_ELEMENTS\""
206 AM_CXXFLAGS = $(GST_OBJ_CXXFLAGS) -UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS \
207 -DGST_CHECK_TEST_ENVIRONMENT_BEACON="\"GST_STATE_IGNORE_ELEMENTS\""
208 LDADD = $(top_builddir)/libs/gst/check/libgstcheck-@GST_API_VERSION@.la \
209 $(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
212 gst_gstcpp_SOURCES = gst/gstcpp.cc
214 libs_gstlibscpp_SOURCES = libs/gstlibscpp.cc
216 gst_gsttracerrecord_CFLAGS = $(GST_OBJ_CFLAGS) $(AM_CFLAGS) -DGST_USE_UNSTABLE_API
218 gst_gstutils_LDADD = $(LDADD) $(GSL_LIBS) $(GMP_LIBS)
220 gst_gstprintf_LDADD = \
221 $(top_builddir)/gst/printf/libgstprintf.la \
224 elements_fdsrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
225 -DTESTFILE=\"$(top_srcdir)/configure.ac\"
226 elements_filesrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
227 -DTESTFILE=\"$(top_srcdir)/configure.ac\"
229 libs_controller_LDADD = \
230 $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
232 libs_gstnetclientclock_LDADD = \
233 $(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
235 libs_gstnettimeprovider_LDADD = \
236 $(top_builddir)/libs/gst/net/libgstnet-@GST_API_VERSION@.la \
240 # these just need valgrind fixing, period
243 gst/gsttracerrecord \
249 # these need fixing because the threads cause segfaults under valgrind
254 VALGRIND_TESTS_DISABLE = \
259 # indexers does not get tested yet
263 libs/gst/controller \
267 COVERAGE_FILES = $(foreach dir,$(COVERAGE_DIRS),$(wildcard $(top_builddir)/$(dir)/*.gcov))
268 COVERAGE_FILES_REL = $(subst $(top_builddir)/,,$(COVERAGE_FILES))
269 COVERAGE_OUT_FILES = $(foreach dir,$(COVERAGE_DIRS),$(wildcard $(top_builddir)/$(dir)/*.gcov.out))
270 COVERAGE_OUT_FILES_REL = $(subst $(top_builddir)/,,$(COVERAGE_OUT_FILES))
273 echo $(COVERAGE_FILES)
274 echo $(COVERAGE_FILES_REL)
278 # we rebuild a registry and do gst-inspect so that all the get/set codepaths
281 for file in `find $(top_builddir) -name '*.gcda'`; do rm $$file; done
282 -rm $(CHECK_REGISTRY)
283 echo "Inspecting all elements"
284 for e in `$(GST_INSPECT) | head -n -2 | cut -d: -f2`; do $(GST_INSPECT) $$e > /dev/null 2>&1; done
289 echo "You need to configure with --enable-gcov to get coverage data"
295 for dir in $(COVERAGE_DIRS); do \
296 mkdir -p coverage/$$dir; \
297 make -C $(top_builddir)/$$dir gcov; \
299 for dir in $(COVERAGE_DIRS); do \
300 files="`ls $(top_builddir)/$$dir/*.gcov.out 2> /dev/null`"; \
301 if test ! -z "$$files"; then \
302 perl $(top_srcdir)/common/coverage/coverage-report.pl \
303 $(top_builddir)/$$dir/*.gcov.out > \
304 coverage/$$dir/index.xml; \
305 xsltproc $(top_srcdir)/common/coverage/coverage-report.xsl \
306 coverage/$$dir/index.xml > coverage/$$dir/index.html; \
309 for file in $(COVERAGE_FILES_REL); do \
310 echo Generating coverage/$$file.html; \
311 perl $(top_srcdir)/common/coverage/coverage-report-entry.pl \
312 $(top_builddir)/$$file > coverage/$$file.html; \