mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-02 22:46:35 +00:00
e4f7cdb0df
It's been around for more than 4 years and people have built lots of stuff on top of it, doesn't really make sense to keep it marked as unstable. We're unlikely to change it now, and we can always deprecate it and make a new one if needed. This stabilises the following API: - gst_tracer_register() - gst_tracing_get_active_tracers() - gst_tracing_register_hook() - gst_tracer_record_new() - gst_tracer_record_log() Might also help a bit with #424 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/576>
167 lines
5.7 KiB
Meson
167 lines
5.7 KiB
Meson
have_debug = true # FIXME
|
|
|
|
# tests and condition when to skip the test
|
|
core_tests = [
|
|
[ 'gst/gst.c', not gst_registry ],
|
|
[ 'gst/gstabi.c', not gst_registry ],
|
|
[ 'gst/gstatomicqueue.c' ],
|
|
[ 'gst/gstbuffer.c' ],
|
|
[ 'gst/gstbufferlist.c' ],
|
|
[ 'gst/gstbufferpool.c' ],
|
|
[ 'gst/gstchildproxy.c', not gst_registry ],
|
|
[ 'gst/gstclock.c' ],
|
|
[ 'gst/gstcontext.c' ],
|
|
[ 'gst/gstcontroller.c' ],
|
|
[ 'gst/gstcaps.c' ],
|
|
[ 'gst/gstcapsfeatures.c' ],
|
|
[ 'gst/gstdatetime.c' ],
|
|
[ 'gst/gstdeinit.c' ],
|
|
[ 'gst/gstdevice.c' ],
|
|
[ 'gst/gstelement.c', not gst_registry or not gst_parse],
|
|
[ 'gst/gstelementfactory.c', not gst_registry ],
|
|
[ 'gst/gstghostpad.c', not gst_registry ],
|
|
[ 'gst/gstinfo.c' ],
|
|
[ 'gst/gstiterator.c' ],
|
|
[ 'gst/gstmessage.c' ],
|
|
[ 'gst/gstmemory.c' ],
|
|
[ 'gst/gstmeta.c' ],
|
|
[ 'gst/gstminiobject.c' ],
|
|
[ 'gst/gstobject.c' ],
|
|
[ 'gst/gstpad.c', not gst_registry ],
|
|
[ 'gst/gstparamspecs.c' ],
|
|
[ 'gst/gstprintf.c', not gst_debug, printf_lib],
|
|
[ 'gst/gstpipeline.c', not gst_registry ],
|
|
[ 'gst/gstpoll.c' ],
|
|
[ 'gst/gstplugin.c', not gst_registry ],
|
|
[ 'gst/gstpreset.c' ],
|
|
[ 'gst/gstprotection.c' ],
|
|
[ 'gst/gstquery.c', not gst_registry ],
|
|
[ 'gst/gstregistry.c', not gst_registry ],
|
|
[ 'gst/gstpromise.c'],
|
|
[ 'gst/gstsegment.c' ],
|
|
[ 'gst/gststream.c' ],
|
|
[ 'gst/gststructure.c' ],
|
|
[ 'gst/gstsystemclock.c' ],
|
|
[ 'gst/gsttag.c' ],
|
|
[ 'gst/gsttagsetter.c' ],
|
|
[ 'gst/gsttask.c' ],
|
|
[ 'gst/gsttoc.c' ],
|
|
[ 'gst/gsttocsetter.c' ],
|
|
[ 'gst/gsttracerrecord.c', not tracer_hooks or not gst_debug],
|
|
[ 'gst/gsturi.c' ],
|
|
[ 'gst/gstutils.c', not gst_registry ],
|
|
[ 'gst/gstvalue.c' ],
|
|
[ 'generic/states.c', not gst_registry ],
|
|
[ 'libs/adapter.c' ],
|
|
[ 'libs/aggregator.c' ],
|
|
[ 'libs/baseparse.c' ],
|
|
[ 'libs/basesrc.c', not gst_registry ],
|
|
[ 'libs/basesink.c', not gst_registry ],
|
|
[ 'libs/bitreader.c' ],
|
|
[ 'libs/bitwriter.c' ],
|
|
[ 'libs/bytereader.c' ],
|
|
[ 'libs/bytewriter.c' ],
|
|
[ 'libs/bitreader-noinline.c' ],
|
|
[ 'libs/bytereader-noinline.c' ],
|
|
[ 'libs/bytewriter-noinline.c' ],
|
|
[ 'libs/collectpads.c', not gst_registry ],
|
|
[ 'libs/controller.c' ],
|
|
[ 'libs/flowcombiner.c' ],
|
|
[ 'libs/gstharness.c', not gst_parse ],
|
|
[ 'libs/gstnetclientclock.c' ],
|
|
[ 'libs/gstnettimeprovider.c' ],
|
|
[ 'libs/gsttestclock.c' ],
|
|
[ 'libs/libsabi.c' ],
|
|
[ 'libs/sparsefile.c' ],
|
|
[ 'libs/transform1.c' ],
|
|
[ 'libs/transform2.c' ],
|
|
[ 'libs/typefindhelper.c' ],
|
|
[ 'libs/queuearray.c' ],
|
|
[ 'elements/capsfilter.c', not gst_registry ],
|
|
[ 'elements/clocksync.c', not gst_registry or not gst_parse ],
|
|
[ 'elements/concat.c', not gst_registry ],
|
|
[ 'elements/dataurisrc.c', not gst_registry ],
|
|
[ 'elements/fakesrc.c', not gst_registry ],
|
|
# FIXME: blocked forever on Windows due to missing fcntl (.. O_NONBLOCK)
|
|
[ 'elements/fdsrc.c', not gst_registry or host_system == 'windows' ],
|
|
[ 'elements/filesink.c', not gst_registry ],
|
|
[ 'elements/filesrc.c', not gst_registry ],
|
|
[ 'elements/funnel.c', not gst_registry ],
|
|
[ 'elements/identity.c', not gst_registry or not gst_parse ],
|
|
[ 'elements/leaks.c' ],
|
|
[ 'elements/multiqueue.c', not gst_registry ],
|
|
[ 'elements/selector.c', not gst_registry ],
|
|
[ 'elements/streamiddemux.c', not gst_registry ],
|
|
[ 'elements/tee.c', not gst_registry or not gst_parse],
|
|
[ 'elements/queue.c', not gst_registry ],
|
|
[ 'elements/queue2.c', not gst_registry or not gst_parse],
|
|
[ 'elements/valve.c', not gst_registry ],
|
|
[ 'pipelines/seek.c', not gst_registry ],
|
|
[ 'pipelines/queue-error.c', not gst_registry or not gst_parse],
|
|
[ 'pipelines/parse-disabled.c', gst_parse ],
|
|
[ 'pipelines/simple-launch-lines.c', not gst_parse ],
|
|
[ 'pipelines/parse-launch.c', not gst_parse ],
|
|
[ 'pipelines/cleanup.c', not gst_parse ],
|
|
[ 'tools/gstinspect.c' ],
|
|
# These take quite long, put them at the end
|
|
[ 'elements/fakesink.c', not gst_registry ],
|
|
[ 'gst/gstbin.c', not gst_registry ],
|
|
[ 'gst/gstbus.c', not gst_registry ],
|
|
[ 'gst/gstevent.c', not gst_registry ],
|
|
[ 'pipelines/stress.c', not gst_registry ],
|
|
[ 'generic/sinks.c', not gst_registry ],
|
|
]
|
|
|
|
# Make sure our headers are C++ clean
|
|
if add_languages('cpp', native: false, required: false)
|
|
core_tests += [
|
|
[ 'gst/gstcpp.cc', not gst_registry ],
|
|
[ 'libs/gstlibscpp.cc', false ],
|
|
]
|
|
endif
|
|
|
|
test_defines = [
|
|
'-UG_DISABLE_ASSERT',
|
|
'-UG_DISABLE_CAST_CHECKS',
|
|
'-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
|
|
'-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
|
|
'-DGST_DISABLE_DEPRECATED',
|
|
]
|
|
|
|
# sanity checking
|
|
if get_option('check').disabled()
|
|
if get_option('tests').enabled()
|
|
error('Building of unit tests was requested, but GStreamer check library was disabled.')
|
|
endif
|
|
endif
|
|
|
|
glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
|
|
gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
|
|
|
|
foreach t : core_tests
|
|
fname = t[0]
|
|
test_name = fname.split('.')[0].underscorify()
|
|
skip_test = t.get(1, false)
|
|
link_with_libs = t.get(2, [])
|
|
|
|
if not skip_test
|
|
exe = executable(test_name, fname,
|
|
c_args : gst_c_args + test_defines,
|
|
cpp_args : gst_c_args + test_defines,
|
|
include_directories : [configinc],
|
|
link_with : link_with_libs,
|
|
dependencies : test_deps + glib_deps + gst_deps,
|
|
)
|
|
|
|
env = environment()
|
|
env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
|
|
env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
|
|
env.set('GST_STATE_IGNORE_ELEMENTS', '')
|
|
env.set('CK_DEFAULT_TIMEOUT', '20')
|
|
env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
|
|
env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
|
|
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
|
|
|
|
test(test_name, exe, env: env, timeout : 3 * 60)
|
|
endif
|
|
endforeach
|