diff options
author | Mathieu Duponchelle <mathieu@centricular.com> | 2017-10-16 19:51:36 +0200 |
---|---|---|
committer | Mathieu Duponchelle <mathieu@centricular.com> | 2017-12-08 18:42:22 +0100 |
commit | 58c374c8e223d15987b075a7080ea6886e55acda (patch) | |
tree | b0f3aa7a754f3093b1a282c4fc8a1cf96ef3aa9f | |
parent | 4aa51c82a886463be2e289144b9f74193e9efaa6 (diff) |
meson test: Enable libs tests
https://bugzilla.gnome.org/show_bug.cgi?id=789064
-rw-r--r-- | meson_options.txt | 2 | ||||
-rwxr-xr-x | tests/check/media/download-media | 11 | ||||
-rw-r--r-- | tests/check/media/meson.build | 19 | ||||
-rw-r--r-- | tests/check/meson.build | 22 |
4 files changed, 54 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt index f1ab3f046..fbcf625bf 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -12,3 +12,5 @@ option('with-package-name', type : 'string', description : 'package name to use in plugins') option('with-package-origin', type : 'string', value : 'Unknown package origin', description : 'package origin URL to use in plugins') +option('enable_gst_player_tests', type: 'boolean', value: false, + description: 'Enable GstPlayer tests that need network access') diff --git a/tests/check/media/download-media b/tests/check/media/download-media new file mode 100755 index 000000000..f522ff00e --- /dev/null +++ b/tests/check/media/download-media @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +import urllib.request +import shutil +import sys +import os + +os.makedirs(os.path.dirname(sys.argv[2]), exist_ok=True) + +with urllib.request.urlopen(sys.argv[1]) as response, open(sys.argv[2], 'wb') as out_file: + shutil.copyfileobj(response, out_file) diff --git a/tests/check/media/meson.build b/tests/check/media/meson.build new file mode 100644 index 000000000..7094d2dfc --- /dev/null +++ b/tests/check/media/meson.build @@ -0,0 +1,19 @@ +test_media = [ + 'audio.ogg', + 'audio-video.ogg', + 'audio-short.ogg', + 'audio-video-short.ogg', + 'sintel.mkv', + 'test_sub.srt', +] + +download_media = find_program('download-media') + +foreach m: test_media + downloaded_media = custom_target(m, + input : [], + output : m, + command: [download_media, 'http://gstreamer.freedesktop.org/data/media/small/' + m, '@OUTPUT@'], + build_by_default: true, + install: false) +endforeach diff --git a/tests/check/meson.build b/tests/check/meson.build index f0a8ec120..d2c7a0dc6 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -11,6 +11,8 @@ libparser_dep = declare_dependency(link_with: libparser, exif_dep = dependency('libexif', version : '>= 0.6.16', required : false) +enable_gst_player_tests = get_option('enable_gst_player_tests') + # name, condition when to skip the test and extra dependencies base_tests = [ [['elements/aiffparse.c']], @@ -55,7 +57,22 @@ base_tests = [ [['elements/voaacenc.c'], not voaac_dep.found(), [voaac_dep]], [['elements/x265enc.c'], not x265_dep.found(), [x265_dep]], [['elements/zbar.c'], not zbar_dep.found(), [zbar_dep]], + [['libs/gstglcolorconvert.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglcontext.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglheaders.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglmatrix.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglmemory.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglquery.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglsl.c'], not build_gstgl, [gstgl_dep]], + [['libs/gstglupload.c'], not build_gstgl, [gstgl_dep]], + [['libs/h264parser.c'], false, [gstcodecparsers_dep]], + [['libs/insertbin.c'], false, [gstinsertbin_dep]], [['libs/isoff.c'], not xml2_dep.found(), [gstisoff_dep, xml2_dep]], + [['libs/mpegts.c'], false, [gstmpegts_dep]], + [['libs/mpegvideoparser.c'], false, [gstcodecparsers_dep]], + [['libs/player.c'], not enable_gst_player_tests, [gstplayer_dep]], + [['libs/vc1parser.c'], false, [gstcodecparsers_dep]], + [['libs/vp8parser.c'], false, [gstcodecparsers_dep]], ] test_defines = [ @@ -63,6 +80,7 @@ test_defines = [ '-UG_DISABLE_CAST_CHECKS', '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', '-DGST_TEST_FILES_PATH="' + meson.current_source_dir() + '/../files"', + '-DTEST_PATH="' + meson.current_build_dir() + '/media"', '-DDASH_MPD_DATADIR=' + meson.current_source_dir() + '/elements/dash_mpd_data', '-DGST_USE_UNSTABLE_API', ] @@ -113,3 +131,7 @@ foreach t : base_tests test(test_name, exe, env: env, timeout: 3 * 60) endif endforeach + +if enable_gst_player_tests + subdir ('media') +endif |