mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-08 16:35:40 +00:00
tests: Enable unit test on Windows
Allow run some unit tests on Windows. * Remove hardcoded path separator in whitelist env for Meson to choose OS-specific separator automatically (i.e., ';' for windows and ':' for *nix) * Add dependency explicitly for some test cases, otherwise plugins couldn't be loaded on uninstalled environment of Windows.
This commit is contained in:
parent
16af121a86
commit
7aebe60809
3 changed files with 62 additions and 62 deletions
|
@ -240,12 +240,9 @@ gstnet_dep = dependency('gstreamer-net-1.0', version : gst_req,
|
|||
fallback : ['gstreamer', 'gst_net_dep'])
|
||||
gstcontroller_dep = dependency('gstreamer-controller-1.0', version : gst_req,
|
||||
fallback : ['gstreamer', 'gst_controller_dep'])
|
||||
if host_system != 'windows'
|
||||
gstcheck_dep = dependency('gstreamer-check-1.0', version : gst_req,
|
||||
required : get_option('tests'),
|
||||
fallback : ['gstreamer', 'gst_check_dep'])
|
||||
endif
|
||||
|
||||
gstcheck_dep = dependency('gstreamer-check-1.0', version : gst_req,
|
||||
required : get_option('tests'),
|
||||
fallback : ['gstreamer', 'gst_check_dep'])
|
||||
gstpbutils_dep = dependency('gstreamer-pbutils-1.0', version : gst_req,
|
||||
fallback : ['gst-plugins-base', 'pbutils_dep'])
|
||||
gstallocators_dep = dependency('gstreamer-allocators-1.0', version : gst_req,
|
||||
|
|
|
@ -15,17 +15,13 @@ libparser_dep = declare_dependency(link_with : libparser,
|
|||
|
||||
# name, condition when to skip the test and extra dependencies
|
||||
good_tests = [
|
||||
[ 'elements/audioamplify' ],
|
||||
[ 'elements/audiochebband' ],
|
||||
[ 'elements/audiocheblimit' ],
|
||||
[ 'elements/audiodynamic' ],
|
||||
[ 'elements/audioecho' ],
|
||||
[ 'elements/audiofirfilter' ],
|
||||
[ 'elements/audioiirfilter' ],
|
||||
[ 'elements/audioinvert' ],
|
||||
[ 'elements/audiopanorama' ],
|
||||
[ 'elements/audiowsincband' ],
|
||||
[ 'elements/audiowsinclimit' ],
|
||||
[ 'elements/audiochebband', false, [gstfft_dep] ],
|
||||
[ 'elements/audiocheblimit', false, [gstfft_dep] ],
|
||||
[ 'elements/audioecho', false, [gstfft_dep] ],
|
||||
[ 'elements/audiofirfilter', false, [gstfft_dep] ],
|
||||
[ 'elements/audioiirfilter', false, [gstfft_dep] ],
|
||||
[ 'elements/audiowsincband', false, [gstfft_dep] ],
|
||||
[ 'elements/audiowsinclimit', false, [gstfft_dep] ],
|
||||
[ 'elements/alphacolor' ],
|
||||
[ 'elements/alpha' ],
|
||||
[ 'elements/aacparse', false, [libparser_dep] ],
|
||||
|
@ -33,40 +29,23 @@ good_tests = [
|
|||
[ 'elements/amrparse', false, [libparser_dep] ],
|
||||
[ 'elements/flacparse', false, [libparser_dep] ],
|
||||
[ 'elements/mpegaudioparse', false, [libparser_dep] ],
|
||||
[ 'elements/wavpackparse' ],
|
||||
[ 'elements/autodetect' ],
|
||||
[ 'elements/avimux' ],
|
||||
[ 'elements/avisubtitle' ],
|
||||
[ 'elements/capssetter' ],
|
||||
[ 'elements/deinterlace' ],
|
||||
[ 'elements/dtmf' ],
|
||||
[ 'pipelines/flacdec', not flac_dep.found() ],
|
||||
[ 'elements/flvdemux' ],
|
||||
[ 'elements/flvmux' ],
|
||||
[ 'elements/qtmux' ],
|
||||
[ 'elements/qtdemux' ],
|
||||
[ 'elements/mulawdec' ],
|
||||
[ 'elements/mulawenc' ],
|
||||
[ 'elements/gdkpixbufsink', not gdkpixbuf_dep.found(), [gdkpixbuf_dep] ],
|
||||
[ 'elements/gdkpixbufoverlay', not gdkpixbuf_dep.found() ],
|
||||
[ 'elements/icydemux' ],
|
||||
[ 'elements/id3demux' ],
|
||||
[ 'elements/imagefreeze' ],
|
||||
[ 'elements/deinterleave' ],
|
||||
[ 'elements/interleave' ],
|
||||
[ 'elements/jpegdec', not jpeglib.found() ],
|
||||
[ 'elements/jpegenc', not jpeglib.found() ],
|
||||
[ 'elements/level' ],
|
||||
[ 'elements/matroskademux' ],
|
||||
[ 'elements/matroskamux' ],
|
||||
[ 'elements/matroskaparse' ],
|
||||
[ 'elements/mpg123audiodec', not mpg123_dep.found(), [gstfft_dep]],
|
||||
[ 'elements/multifile' ],
|
||||
[ 'elements/splitmux' ],
|
||||
[ 'elements/matroskademux', false, [gstriff_dep] ],
|
||||
[ 'elements/matroskaparse', false, [gstriff_dep] ],
|
||||
[ 'elements/rganalysis' ],
|
||||
[ 'elements/rglimiter' ],
|
||||
[ 'elements/rgvolume' ],
|
||||
[ 'elements/rtp-payloading' ],
|
||||
[ 'elements/rtph261' ],
|
||||
[ 'elements/rtph263' ],
|
||||
[ 'elements/rtpvp9' ],
|
||||
|
@ -83,31 +62,12 @@ good_tests = [
|
|||
[ 'elements/rtpred' ],
|
||||
[ 'elements/rtpulpfec' ],
|
||||
[ 'elements/rtpssrcdemux' ],
|
||||
[ 'elements/souphttpsrc', not libsoup_dep.found(), [libsoup_dep] ],
|
||||
[ 'elements/spectrum' ],
|
||||
[ 'elements/shapewipe' ],
|
||||
[ 'elements/id3v2mux', not taglib_dep.found() ],
|
||||
[ 'elements/apev2mux', not taglib_dep.found() ],
|
||||
[ 'elements/udpsink' ],
|
||||
[ 'elements/udpsrc' ],
|
||||
[ 'elements/videobox' ],
|
||||
[ 'elements/aspectratiocrop' ],
|
||||
[ 'elements/videocrop' ],
|
||||
[ 'elements/videofilter' ],
|
||||
[ 'elements/videomixer' ],
|
||||
[ 'elements/vp8enc', not vpx_dep.found() or not have_vp8_encoder ],
|
||||
[ 'elements/vp8dec', not vpx_dep.found() or not have_vp8_decoder ],
|
||||
[ 'elements/vp9enc', not vpx_dep.found() or not have_vp9_encoder ],
|
||||
[ 'pipelines/lame', not lame_dep.found() ],
|
||||
[ 'pipelines/wavenc' ],
|
||||
[ 'elements/wavpackdec', not wavpack_dep.found() ],
|
||||
[ 'elements/wavpackenc', not wavpack_dep.found() ],
|
||||
[ 'pipelines/wavpack', not wavpack_dep.found() ],
|
||||
[ 'elements/wavparse' ],
|
||||
[ 'elements/y4menc' ],
|
||||
[ 'elements/wavparse', false, [gstriff_dep] ],
|
||||
[ 'pipelines/effectv' ],
|
||||
[ 'elements/equalizer' ],
|
||||
[ 'generic/states' ],
|
||||
[ 'pipelines/simple-launch-lines' ],
|
||||
[ 'pipelines/tagschecking' ],
|
||||
]
|
||||
|
@ -115,6 +75,52 @@ good_tests = [
|
|||
# FIXME: valgrind elements/rtp-payloading - needs fixing
|
||||
# elements/videocrop should be disabled since it takes way too long in valgrind
|
||||
|
||||
# FIXME: unistd dependency or not tested yet on windows
|
||||
if host_machine.system() != 'windows'
|
||||
good_tests += [
|
||||
[ 'elements/audioamplify', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/audiodynamic', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/audioinvert', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/audiopanorama', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/wavpackparse', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/avimux', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/avisubtitle', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/capssetter', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/qtmux', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/qtdemux', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'pipelines/flacdec', not flac_dep.found() ],
|
||||
[ 'elements/gdkpixbufsink', not gdkpixbuf_dep.found(), [gdkpixbuf_dep] ],
|
||||
[ 'elements/gdkpixbufoverlay', not gdkpixbuf_dep.found() ],
|
||||
[ 'elements/jpegdec', not jpeglib.found() ],
|
||||
[ 'elements/jpegenc', not jpeglib.found() ],
|
||||
[ 'elements/level', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/matroskamux', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/mpg123audiodec', not mpg123_dep.found(), [gstfft_dep]],
|
||||
[ 'elements/multifile', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/splitmux', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/rtp-payloading', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/souphttpsrc', not libsoup_dep.found(), [libsoup_dep] ],
|
||||
[ 'elements/spectrum', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/shapewipe', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/id3v2mux', not taglib_dep.found() ],
|
||||
[ 'elements/apev2mux', not taglib_dep.found() ],
|
||||
[ 'elements/udpsrc', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/videobox', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/videocrop', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/videofilter', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/videomixer', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'elements/vp8enc', not vpx_dep.found() or not have_vp8_encoder ],
|
||||
[ 'elements/vp8dec', not vpx_dep.found() or not have_vp8_decoder ],
|
||||
[ 'elements/vp9enc', not vpx_dep.found() or not have_vp9_encoder ],
|
||||
[ 'pipelines/lame', not lame_dep.found() ],
|
||||
[ 'elements/wavpackdec', not wavpack_dep.found() ],
|
||||
[ 'elements/wavpackenc', not wavpack_dep.found() ],
|
||||
[ 'pipelines/wavpack', not wavpack_dep.found() ],
|
||||
[ 'elements/y4menc', not cdata.has('HAVE_UNISTD_H') ],
|
||||
[ 'generic/states', not cdata.has('HAVE_UNISTD_H')],
|
||||
]
|
||||
endif
|
||||
|
||||
foo='''
|
||||
if HAVE_ORC
|
||||
check_orc = orc/deinterlace orc/videomixer orc/videobox
|
||||
|
@ -179,7 +185,7 @@ foreach t : good_tests
|
|||
env.set('GST_STATE_IGNORE_ELEMENTS', state_ignore_elements)
|
||||
env.set('CK_DEFAULT_TIMEOUT', '20')
|
||||
env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer', 'gst-plugins-base',
|
||||
'gst-plugins-good@' + meson.build_root(), separator: ':')
|
||||
'gst-plugins-good@' + meson.build_root())
|
||||
env.set('GST_PLUGIN_PATH_1_0', [meson.build_root()] + pluginsdirs)
|
||||
env.set('GSETTINGS_BACKEND', 'memory')
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# FIXME: make check work on windows
|
||||
if host_system != 'windows'
|
||||
if not get_option('tests').disabled() and gstcheck_dep.found()
|
||||
subdir('check')
|
||||
endif
|
||||
if not get_option('tests').disabled() and gstcheck_dep.found()
|
||||
subdir('check')
|
||||
endif
|
||||
|
||||
subdir('icles')
|
||||
|
|
Loading…
Reference in a new issue