From: Thibault Saunier Date: Tue, 4 Oct 2016 21:06:09 +0000 (-0300) Subject: meson: Make use of new environment object and set plugin path to builddir X-Git-Tag: 1.10.4~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc49e63100e20825841bdc8af1f97fe778086051;p=platform%2Fupstream%2Fgst-plugins-ugly.git meson: Make use of new environment object and set plugin path to builddir Workaround source_root being the root directory of all projects in the subproject case and remove now unneeded getpluginsdir Bump meson requirement to 0.35 --- diff --git a/meson.build b/meson.build index 457fe8b3..4d1dc751 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('gst-plugins-ugly', 'c', version : '1.9.90', - meson_version : '>= 0.32.0', + meson_version : '>= 0.35.0', default_options : [ 'warning_level=1', 'c_std=gnu99', 'buildtype=debugoptimized' ]) diff --git a/tests/check/getpluginsdir b/tests/check/getpluginsdir deleted file mode 100644 index aa41ca83..00000000 --- a/tests/check/getpluginsdir +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -import subprocess - -builddir = os.environ['MESON_BUILD_ROOT'] - -res = '' -args = sys.argv[1:] -for i in range(0, len(args), 2): - project = args[i] - pkg_name = args[i + 1] - path = os.path.join(builddir, 'subprojects', project) - if os.path.exists(path): - res += ':' + path - else: - try: - res += ':' + subprocess.check_output([ - 'pkg-config', '--variable=pluginsdir', - pkg_name]).decode().replace("\n", "") - except subprocess.CalledProcessError as e: - # Probably means there is no .pc file for the module - # and it should hopefully no be too bad. - pass - -print(res.strip(":")) diff --git a/tests/check/meson.build b/tests/check/meson.build index fa412f2e..79c2fcf1 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -13,25 +13,23 @@ test_defines = [ '-UG_DISABLE_ASSERT', '-UG_DISABLE_CAST_CHECKS', '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_PLUGIN_LOADING_WHITELIST"', - '-DGST_TEST_FILES_PATH="' + meson.source_root() + '/tests/files"', + '-DGST_TEST_FILES_PATH="' + meson.current_source_dir() + '/../files"', '-DGST_USE_UNSTABLE_API', ] -getpluginsdir = find_program('getpluginsdir') -runcmd = run_command(getpluginsdir, 'gstreamer', 'gstreamer-1.0') -if runcmd.returncode() == 0 - plugins_dir = runcmd.stdout().strip() - message('Using GStreamer plug-ins in ' + plugins_dir + ' for unit tests') -else - error('Could not determine GStreamer plugins directory for unit tests.') -endif +pluginsdirs = [ ] +# FIXME: Use if not gst_dep.is_internal() when avalaible as we only support the +# case where GStreamer is another subproject here. +if not meson.is_subproject() + pkgconfig = find_program('pkg-config') + runcmd = run_command(pkgconfig, '--variable=pluginsdir', 'gstreamer-' + apiversion) -test_env = [ - 'GST_PLUGIN_SYSTEM_PATH_1_0=', - 'GST_PLUGIN_PATH_1_0=' + meson.build_root() + '/gst:' + meson.build_root() + '/ext:' + meson.build_root() + '/sys:' + plugins_dir, - 'GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-ugly@' + meson.build_root(), - 'CK_DEFAULT_TIMEOUT=20', -] + if runcmd.returncode() == 0 + pluginsdirs = runcmd.stdout().split() + else + error('Could not determine GStreamer core plugins directory for unit tests.') + endif +endif test_deps = [gst_dep, gstbase_dep, gstcheck_dep, gstaudio_dep, gstapp_dep, gstfft_dep] @@ -56,9 +54,18 @@ foreach t : ugly_tests c_args : ['-DHAVE_CONFIG_H=1' ] + test_defines, dependencies : [libm] + test_deps + extra_deps, ) - test(test_name, exe, - env: test_env + ['GST_REGISTRY=@0@/@1@.registry'.format(meson.current_build_dir(), test_name)], - timeout: 3 * 60 - ) + + env = environment() + env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') + env.set('CK_DEFAULT_TIMEOUT', '20') + env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer', 'gst-plugins-base', + 'gst-plugins-good', 'gst-plugins-ugly@' + meson.build_root(), separator=':') + env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) + + foreach plugindir: pluginsdirs + env.append('GST_PLUGIN_PATH_1_0', plugindir) + endforeach + env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name)) + test(test_name, exe, env: env, timeout: 3 * 60) endif endforeach