tests: add ABI test suite for libs
[platform/upstream/gstreamer.git] / tests / check / Makefile.am
1 include $(top_srcdir)/common/check.mak
2
3 CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg
4 TEST_FILES_DIRECTORY = $(top_srcdir)/tests/files
5
6 REGISTRY_ENVIRONMENT = \
7         GST_REGISTRY=$(CHECK_REGISTRY)
8
9 TESTS_ENVIRONMENT = \
10         CK_DEFAULT_TIMEOUT=120                                  \
11         GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)"    \
12         $(REGISTRY_ENVIRONMENT)                                 \
13         GST_PLUGIN_SYSTEM_PATH=                                 \
14         GST_PLUGIN_PATH=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(GST_PLUGINS_DIR) \
15         GST_PLUGIN_LOADING_WHITELIST="gstreamer:gst-plugins-base@$(top_builddir)"
16
17
18 # ths core dumps of some machines have PIDs appended
19 CLEANFILES = core.* test-registry.*
20
21 clean-local: clean-local-check clean-local-orc
22
23 $(CHECK_REGISTRY):
24         $(TESTS_ENVIRONMENT)
25
26 # elements to ignore for the state tests
27 STATE_IGNORE_ELEMENTS = cdio cdparanoiasrc libvisual_ alsasrc alsamixer alsasink
28
29 TESTS = $(check_PROGRAMS)
30
31 if USE_ALSA
32 check_alsa = elements/alsa
33 else
34 check_alsa =
35 endif
36
37 if USE_GNOME_VFS
38 check_gnomevfs = elements/gnomevfssink
39 else
40 check_gnomevfs =
41 endif
42
43 if USE_GIO
44 check_gio = pipelines/gio
45 else
46 check_gio =
47 endif
48
49 if USE_LIBVISUAL
50 check_libvisual = elements/libvisual
51 else
52 check_libvisual =
53 endif
54
55 if USE_OGG
56 check_ogg = pipelines/oggmux
57 else
58 check_ogg =
59 endif
60
61 if USE_PANGO
62 check_pango = elements/textoverlay
63 else
64 check_pango =
65 endif
66
67 if USE_VORBIS
68 check_vorbis = elements/vorbisdec pipelines/vorbisenc pipelines/vorbisdec \
69         elements/vorbistag
70 else
71 check_vorbis =
72 endif
73
74 if USE_THEORA
75 check_theora = pipelines/theoraenc
76 else
77 check_theora =
78 endif
79
80 if USE_VORBIS
81 if USE_THEORA
82 check_encodebin = elements/encodebin
83 else
84 check_encodebin =
85 endif
86 else
87 check_encodebin =
88 endif
89
90 if USE_PLUGIN_SUBPARSE
91 check_subparse = elements/subparse
92 else
93 check_subparse =
94 endif
95
96 if HAVE_ORC
97 check_orc = orc/adder orc/audioconvert orc/volume orc/videoscale orc/videotestsrc
98 else
99 check_orc =
100 endif
101
102 check_PROGRAMS = \
103         $(check_alsa) \
104         $(check_gnomevfs) \
105         $(check_gio) \
106         $(check_ogg) \
107         $(check_pango) \
108         $(check_vorbis) \
109         $(check_theora) \
110         elements/adder  \
111         elements/appsink        \
112         elements/appsrc         \
113         elements/audioconvert \
114         elements/audiorate \
115         elements/audioresample \
116         elements/audiotestsrc \
117         elements/decodebin \
118         elements/decodebin2 \
119         $(check_encodebin) \
120         elements/ffmpegcolorspace \
121         elements/gdpdepay \
122         elements/gdppay \
123         elements/multifdsink \
124         elements/playbin \
125         elements/playbin2 \
126         $(check_subparse) \
127         elements/videorate \
128         elements/videoscale \
129         elements/videotestsrc \
130         elements/volume \
131         generic/clock-selection \
132         generic/states \
133         gst/typefindfunctions \
134         libs/libsabi \
135         libs/audio \
136         libs/cddabasesrc \
137         libs/fft \
138         libs/mixer \
139         libs/navigation \
140         libs/netbuffer \
141         libs/pbutils \
142         libs/profile \
143         libs/rtp \
144         libs/rtsp \
145         libs/tag \
146         libs/video \
147         $(check_orc) \
148         pipelines/simple-launch-lines \
149         pipelines/streamheader \
150         pipelines/basetime \
151         pipelines/capsfilter-renegotiation
152
153 # TORTURE_TO_FIX = \
154 #       elements/adder
155
156 # ffmpegcolorspace takes too long, so disabled for now
157 VALGRIND_TO_FIX = \
158         elements/ffmpegcolorspace \
159         libs/video
160
161 # these tests don't even pass
162 noinst_PROGRAMS = $(check_libvisual)
163
164 noinst_HEADERS = \
165         libs/struct_i386.h
166 #       libs/struct_arm.h \
167 #       libs/struct_hppa.h \
168 #       libs/struct_ppc32.h \
169 #       libs/struct_ppc64.h \
170 #       libs/struct_sparc.h \
171 #       libs/struct_x86_64.h
172
173 AM_CFLAGS = $(GST_CFLAGS) $(GST_CHECK_CFLAGS) \
174         -DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
175         -UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS
176 LDADD = $(GST_LIBS) $(GST_CHECK_LIBS)
177
178 # valgrind testing
179 VALGRIND_TESTS_DISABLE = $(VALGRIND_TO_FIX)
180
181 SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-plugins-base.supp
182
183 libs_libsabi_CFLAGS = \
184         $(GST_PLUGINS_BASE_CFLAGS) \
185         $(GST_BASE_CFLAGS) \
186         $(AM_CFLAGS)
187
188 libs_libsabi_LDADD = \
189         $(top_builddir)/gst-libs/gst/app/libgstapp-@GST_MAJORMINOR@.la \
190         $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
191         $(top_builddir)/gst-libs/gst/cdda/libgstcdda-@GST_MAJORMINOR@.la \
192         $(top_builddir)/gst-libs/gst/fft/libgstfft-@GST_MAJORMINOR@.la \
193         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
194         $(top_builddir)/gst-libs/gst/netbuffer/libgstnetbuffer-@GST_MAJORMINOR@.la \
195         $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \
196         $(top_builddir)/gst-libs/gst/rtp/libgstrtp-@GST_MAJORMINOR@.la \
197         $(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_MAJORMINOR@.la \
198         $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
199         $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la \
200         $(GST_BASE_LIBS) \
201         $(LDADD)
202
203 libs_audio_CFLAGS = \
204         $(GST_PLUGINS_BASE_CFLAGS) \
205         $(GST_BASE_CFLAGS) \
206         $(AM_CFLAGS)
207
208 libs_audio_LDADD = \
209         $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
210         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
211         $(GST_BASE_LIBS) \
212         $(LDADD)
213
214 libs_cddabasesrc_CFLAGS = \
215         $(GST_PLUGINS_BASE_CFLAGS) \
216         $(GST_BASE_CFLAGS) \
217         $(AM_CFLAGS)
218
219 libs_cddabasesrc_LDADD = \
220         $(top_builddir)/gst-libs/gst/cdda/libgstcdda-@GST_MAJORMINOR@.la \
221         $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
222         $(GST_BASE_LIBS) \
223         $(LDADD)
224
225 libs_fft_CFLAGS = \
226         $(GST_PLUGINS_BASE_CFLAGS) \
227         $(GST_BASE_CFLAGS) \
228         $(AM_CFLAGS)
229
230 libs_fft_LDADD = \
231         $(top_builddir)/gst-libs/gst/fft/libgstfft-@GST_MAJORMINOR@.la \
232         $(GST_BASE_LIBS) \
233         $(LDADD)
234
235 libs_mixer_CFLAGS = \
236         $(GST_PLUGINS_BASE_CFLAGS) \
237         $(GST_BASE_CFLAGS) \
238         $(AM_CFLAGS)
239
240 libs_mixer_LDADD = \
241         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
242         $(GST_BASE_LIBS) \
243         $(LDADD)
244
245 libs_navigation_CFLAGS = \
246         $(GST_PLUGINS_BASE_CFLAGS) \
247         $(GST_BASE_CFLAGS) \
248         $(AM_CFLAGS)
249
250 libs_navigation_LDADD = \
251         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
252         $(GST_BASE_LIBS) \
253         $(LDADD)
254
255 libs_netbuffer_CFLAGS = \
256         $(GST_PLUGINS_BASE_CFLAGS) \
257         $(AM_CFLAGS)
258 libs_netbuffer_LDADD = \
259         $(top_builddir)/gst-libs/gst/netbuffer/libgstnetbuffer-@GST_MAJORMINOR@.la \
260         $(LDADD)
261
262 libs_rtp_CFLAGS = \
263         $(GST_PLUGINS_BASE_CFLAGS) \
264         $(AM_CFLAGS)
265 libs_rtp_LDADD = \
266         $(top_builddir)/gst-libs/gst/rtp/libgstrtp-@GST_MAJORMINOR@.la \
267         $(GST_BASE_LIBS) $(LDADD)
268
269 libs_rtsp_CFLAGS = \
270         $(GST_PLUGINS_BASE_CFLAGS) \
271         $(AM_CFLAGS)
272 libs_rtsp_LDADD = \
273         $(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_MAJORMINOR@.la \
274         $(GST_BASE_LIBS) $(LDADD)
275
276 libs_tag_CFLAGS = \
277         $(GST_PLUGINS_BASE_CFLAGS) \
278         $(GST_BASE_CFLAGS) \
279         $(AM_CFLAGS)
280 libs_tag_LDADD = \
281         $(GST_BASE_LIBS) \
282         $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la $(LDADD)
283
284 libs_pbutils_CFLAGS = \
285         $(GST_PLUGINS_BASE_CFLAGS) \
286         $(AM_CFLAGS)
287 libs_pbutils_LDADD = \
288         $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \
289         $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la \
290         $(GST_BASE_LIBS) $(LDADD)
291
292 libs_profile_CFLAGS = \
293         $(GST_PLUGINS_BASE_CFLAGS) \
294         $(AM_CFLAGS)
295 libs_profile_LDADD = \
296         $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la $(LDADD)
297
298 elements_appsink_CFLAGS = \
299         $(GST_PLUGINS_BASE_CFLAGS) \
300         $(AM_CFLAGS)
301
302 elements_appsink_LDADD = \
303         $(top_builddir)/gst-libs/gst/app/libgstapp-@GST_MAJORMINOR@.la \
304         $(LDADD)
305
306 elements_appsrc_CFLAGS = \
307         $(GST_PLUGINS_BASE_CFLAGS) \
308         $(AM_CFLAGS)
309
310 elements_appsrc_LDADD = \
311         $(top_builddir)/gst-libs/gst/app/libgstapp-@GST_MAJORMINOR@.la \
312         $(LDADD)
313
314 elements_alsa_CFLAGS = \
315         $(GST_PLUGINS_BASE_CFLAGS) \
316         $(AM_CFLAGS)
317
318 elements_alsa_LDADD = \
319         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
320         $(LDADD)
321
322 elements_audioconvert_CFLAGS = \
323         $(GST_PLUGINS_BASE_CFLAGS) \
324         $(GST_BASE_CFLAGS) \
325         $(AM_CFLAGS)
326
327 elements_audioconvert_LDADD = \
328         $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
329         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
330         $(GST_BASE_LIBS) \
331         $(LDADD)
332
333 elements_audiorate_LDADD =  $(LDADD)
334 elements_audiorate_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
335
336 elements_libvisual_LDADD =  $(LDADD)
337 elements_libvisual_CFLAGS = $(CFLAGS) $(AM_CFLAGS)
338
339 elements_gdpdepay_LDADD = $(GST_GDP_LIBS) $(LDADD)
340 elements_gdppay_LDADD = $(GST_GDP_LIBS) $(LDADD)
341
342 elements_playbin_LDADD = $(GST_BASE_LIBS) $(LDADD)
343 elements_playbin_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
344
345 elements_playbin2_LDADD = $(GST_BASE_LIBS) $(LDADD)
346 elements_playbin2_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
347
348 elements_decodebin_LDADD = $(GST_BASE_LIBS) $(LDADD)
349 elements_decodebin_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
350
351 elements_encodebin_LDADD = $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la $(GST_BASE_LIBS) $(LDADD)
352 elements_encodebin_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
353
354 elements_decodebin2_LDADD = $(GST_BASE_LIBS) $(LDADD)
355 elements_decodebin2_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
356
357 elements_subparse_LDADD =  $(LDADD)
358 elements_subparse_CFLAGS = $(CFLAGS) $(AM_CFLAGS)
359
360 elements_audioresample_CFLAGS = \
361         $(GST_PLUGINS_BASE_CFLAGS) \
362         $(GST_BASE_CFLAGS) \
363         $(AM_CFLAGS)
364
365 elements_audioresample_LDADD = \
366         $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
367         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
368         $(GST_BASE_LIBS) \
369         $(LDADD)
370
371 elements_textoverlay_LDADD = $(GST_BASE_LIBS) $(LDADD)
372 elements_textoverlay_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
373
374 elements_volume_LDADD = \
375         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
376         $(GST_PLUGINS_BASE_LIBS) \
377         $(GST_CONTROLLER_LIBS) \
378         $(GST_BASE_LIBS) \
379         $(LDADD)
380
381 elements_volume_CFLAGS = \
382         $(GST_PLUGINS_BASE_CFLAGS) \
383         $(GST_CONTROLLER_CFLAGS) \
384         $(GST_BASE_CFLAGS) \
385         $(AM_CFLAGS)
386
387 elements_vorbisdec_LDADD = \
388         $(LDADD) \
389         $(VORBIS_LIBS) \
390         $(VORBISENC_LIBS)
391
392 elements_vorbisdec_CFLAGS = \
393         $(GST_PLUGINS_BASE_CFLAGS) \
394         $(AM_CFLAGS) \
395         $(VORBIS_CFLAGS) \
396         $(CFLAGS)
397
398 elements_vorbistag_LDADD = \
399         $(LDADD) \
400         $(VORBIS_LIBS) \
401         $(VORBISENC_LIBS)
402
403 elements_vorbistag_CFLAGS = \
404         $(GST_PLUGINS_BASE_CFLAGS) \
405         $(AM_CFLAGS) \
406         $(VORBIS_CFLAGS) \
407         $(CFLAGS)
408
409 elements_videoscale_CFLAGS = \
410         $(GST_PLUGINS_BASE_CFLAGS) \
411         $(GST_BASE_CFLAGS) \
412         $(AM_CFLAGS)
413 elements_videoscale_LDADD = \
414         $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la \
415         $(GST_BASE_LIBS) $(LDADD)
416
417 gst_typefindfunctions_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
418 gst_typefindfunctions_LDADD = $(GST_BASE_LIBS) $(LDADD)
419
420 libs_video_CFLAGS = \
421         $(GST_PLUGINS_BASE_CFLAGS) \
422         $(GST_BASE_CFLAGS) \
423         $(AM_CFLAGS)
424
425 libs_video_LDADD = \
426         $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la \
427         $(GST_BASE_LIBS) \
428         $(LDADD)
429
430 pipelines_gio_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
431 pipelines_gio_LDADD = $(GIO_LIBS) $(LDADD)
432
433 pipelines_vorbisenc_CFLAGS = \
434         $(GST_PLUGINS_BASE_CFLAGS) \
435         $(AM_CFLAGS)
436
437 # this seemingly useless CFLAGS line is here only to avoid
438 # vorbisdec.$(OBJEXT) by triggering creation of pipelines_vorbisdec.$(OBJEXT)
439 # instead
440 pipelines_vorbisdec_CFLAGS = $(AM_CFLAGS)
441
442 pipelines_oggmux_LDADD = $(LDADD) $(OGG_LIBS)
443 pipelines_oggmux_CFLAGS = $(AM_CFLAGS) $(OGG_CFLAGS)
444
445 pipelines_theoraenc_CFLAGS = $(AM_CFLAGS) $(THEORA_CFLAGS)
446 pipelines_theoraenc_LDADD = $(LDADD) $(THEORA_LIBS)
447
448 pipelines_simple_launch_lines_CFLAGS = \
449         $(GST_BASE_CFLAGS) \
450         $(AM_CFLAGS)
451
452 pipelines_simple_launch_lines_LDADD = \
453         $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
454         $(top_builddir)/gst-libs/gst/interfaces/libgstinterfaces-@GST_MAJORMINOR@.la \
455         $(GST_BASE_LIBS) \
456         $(LDADD)
457
458 orc_adder_CFLAGS = $(ORC_CFLAGS)
459 orc_adder_LDADD = $(ORC_LIBS) -lorc-test-0.4
460 nodist_orc_adder_SOURCES = orc/adder.c
461 orc_audioconvert_CFLAGS = $(ORC_CFLAGS)
462 orc_audioconvert_LDADD = $(ORC_LIBS) -lorc-test-0.4
463 nodist_orc_audioconvert_SOURCES = orc/audioconvert.c
464 orc_volume_CFLAGS = $(ORC_CFLAGS)
465 orc_volume_LDADD = $(ORC_LIBS) -lorc-test-0.4
466 nodist_orc_volume_SOURCES = orc/volume.c
467 orc_videoscale_CFLAGS = $(ORC_CFLAGS)
468 orc_videoscale_LDADD = $(ORC_LIBS) -lorc-test-0.4
469 nodist_orc_videoscale_SOURCES = orc/videoscale.c
470 orc_videotestsrc_CFLAGS = $(ORC_CFLAGS)
471 orc_videotestsrc_LDADD = $(ORC_LIBS) -lorc-test-0.4
472 nodist_orc_videotestsrc_SOURCES = orc/videotestsrc.c
473
474 orc/adder.c: $(top_srcdir)/gst/adder/gstadderorc.orc
475         $(MKDIR_P) orc/
476         $(ORCC) --test -o $@ $<
477
478 orc/audioconvert.c: $(top_srcdir)/gst/audioconvert/gstaudioconvertorc.orc
479         $(MKDIR_P) orc/
480         $(ORCC) --test -o $@ $<
481
482 orc/volume.c: $(top_srcdir)/gst/volume/gstvolumeorc.orc
483         $(MKDIR_P) orc/
484         $(ORCC) --test -o $@ $<
485
486 orc/videoscale.c: $(top_srcdir)/gst/videoscale/gstvideoscaleorc.orc
487         $(MKDIR_P) orc/
488         $(ORCC) --test -o $@ $<
489
490 orc/videotestsrc.c: $(top_srcdir)/gst/videotestsrc/gstvideotestsrcorc.orc
491         $(MKDIR_P) orc/
492         $(ORCC) --test -o $@ $<
493
494
495 clean-local-orc:
496         rm -rf orc
497
498 EXTRA_DIST = gst-plugins-base.supp