meson: Add explicit check: kwarg to all run_command() calls
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 4 Jan 2022 20:37:59 +0000 (02:07 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Sun, 9 Jan 2022 12:42:47 +0000 (18:12 +0530)
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:

https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300

This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>

33 files changed:
meson.build
subprojects/gst-devtools/debug-viewer/meson.build
subprojects/gst-devtools/meson.build
subprojects/gst-docs/meson.build
subprojects/gst-editing-services/docs/meson.build
subprojects/gst-editing-services/meson.build
subprojects/gst-examples/webrtc/check/meson.build
subprojects/gst-examples/webrtc/sendrecv/gst-sharp/meson.build
subprojects/gst-libav/docs/meson.build
subprojects/gst-libav/meson.build
subprojects/gst-omx/meson.build
subprojects/gst-plugins-bad/docs/meson.build
subprojects/gst-plugins-bad/ext/opencv/meson.build
subprojects/gst-plugins-bad/gst-libs/gst/vulkan/meson.build
subprojects/gst-plugins-bad/meson.build
subprojects/gst-plugins-bad/sys/msdk/meson.build
subprojects/gst-plugins-base/docs/meson.build
subprojects/gst-plugins-base/meson.build
subprojects/gst-plugins-good/docs/meson.build
subprojects/gst-plugins-good/meson.build
subprojects/gst-plugins-ugly/docs/meson.build
subprojects/gst-plugins-ugly/meson.build
subprojects/gst-python/meson.build
subprojects/gst-python/testsuite/meson.build
subprojects/gst-rtsp-server/docs/meson.build
subprojects/gst-rtsp-server/meson.build
subprojects/gstreamer-sharp/Tests/meson.build
subprojects/gstreamer-vaapi/docs/meson.build
subprojects/gstreamer-vaapi/meson.build
subprojects/gstreamer/docs/meson.build
subprojects/gstreamer/gst/parse/meson.build
subprojects/gstreamer/meson.build
tests/python/meson.build

index d1af0bc8fc38e21298063c2854064243b52ad1a1..57c3f0070ecd4a02f40efe99b451c839a89ebefe 100644 (file)
@@ -24,13 +24,13 @@ ensure_not_uninstalled = '''
 import os
 assert('GST_ENV' not in os.environ)
 '''
-cmdres = run_command(python3, '-c', ensure_not_uninstalled)
+cmdres = run_command(python3, '-c', ensure_not_uninstalled, check: false)
 if cmdres.returncode() != 0
   error('Do not run `ninja` or `meson` for gst-build inside the uninstalled environment, you will run into problems')
 endif
 
 # Install gst-indent pre-commit hook
-run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")')
+run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")', check: false)
 
 # Ensure that the user does not have Strawberry Perl in PATH, since it ships
 # with a pkg-config.bat and broken pkgconfig files for libffi and zlib. Will
@@ -41,7 +41,7 @@ import os
 assert(r'Strawberry\perl\bin' not in os.environ['PATH'])
 '''
 if build_system == 'windows' and meson.version().version_compare('<0.60.0')
-  cmdres = run_command(python3, '-c', ensure_no_strawberry_perl)
+  cmdres = run_command(python3, '-c', ensure_no_strawberry_perl, check: false)
   if cmdres.returncode() != 0
     error('You have Strawberry Perl in PATH which is known to cause build issues with Meson < 0.60.0. Please remove it from PATH, uninstall it, or upgrade Meson.')
   endif
@@ -53,9 +53,9 @@ documented_projects = ''
 if not meson.is_subproject() and cc.get_id() == 'msvc'
   uname = find_program('uname', required: false)
   if uname.found()
-    ret = run_command(uname, '-o')
+    ret = run_command(uname, '-o', check: false)
     if ret.returncode() == 0 and ret.stdout().to_lower() == 'msys'
-      ret = run_command(uname, '-r')
+      ret = run_command(uname, '-r', check: false)
       # The kernel version returned by uname is actually the msys version
       if ret.returncode() == 0 and ret.stdout().startswith('2')
         # If a system zlib is found, disable UNIX features in zlib.h and zconf.h
index 263b7958a281a4557b7ff986050c97b0f21a9256..c001d392b1e573a7fd729d8961491a22a5b828f0 100644 (file)
@@ -78,8 +78,7 @@ icondir = join_paths(get_option('datadir'), 'icons/hicolor')
 subdir('data')
 
 
-if run_command(python3,
-    '-c', 'import gi; gi.require_version("Gtk", "3.0")').returncode() == 0
+if run_command(python3, '-c', 'import gi; gi.require_version("Gtk", "3.0")', check: false).returncode() == 0
   test('gst-debug-viewer', python3, args: ['-m', 'unittest'],
       workdir: meson.current_source_dir())
 endif
index 70588068614817cfd8014edd85a65de1ec89ebe9..7d50af5d10f540635b5f11fe3cd4b52c5fec9b1a 100644 (file)
@@ -172,5 +172,3 @@ if not get_option('debug_viewer').disabled()
   subdir('debug-viewer')
 endif
 subdir('docs')
-
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")')
index bcef4799473a14dfd54a923c2cf350172cfb3d3f..95efff66bdfb61638937e8b3d3ae6e9161590e82 100644 (file)
@@ -9,7 +9,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.12.2'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
 endif
@@ -49,6 +49,7 @@ with open(fname, 'r') as f:
       python3,
       '-c', read_file_contents,
       fname,
+      check: false,
     )
   if cmdres.returncode() == 0
     built_subprojects = cmdres.stdout().strip()
index c22a9d4249334c6e44e942d57c3d2faa28258779..bfffd411444fcda0249228f24f27f8618838c935 100644 (file)
@@ -55,7 +55,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -118,12 +118,8 @@ import json
 
 with open("@0@") as f:
     print(':'.join(json.load(f).keys()), end='')
-'''.format(plugins_cache))
-
-assert(list_plugin_res.returncode() == 0,
-  'Could not list plugins from @0@\n@1@\n@1@'.format(plugins_cache, list_plugin_res.stdout(), list_plugin_res.stderr()))
-
-
+'''.format(plugins_cache),
+  check: true)
 foreach plugin_name: list_plugin_res.stdout().split(':')
     plugins_doc += [hotdoc.generate_doc(plugin_name,
         project_version: apiversion,
index b4479d3c94fbed42ebfa175c5281ad18971e637b..f2172f84bbb9404ce36ec1efc64b2a677636e41e 100644 (file)
@@ -174,18 +174,17 @@ elif build_gir
     if not cc.compiles('#include <Python.h>', dependencies: [python_dep])
       error_msg = 'Could not compile a simple program against python'
     elif pylib_loc == ''
-      check_path_exists = 'import os, sys; assert(os.path.exists(sys.argv[1]))'
+      fsmod = import('fs')
       pylib_loc = python.get_variable('LIBPL', '')
       if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
         pylib_ldlibrary = python.get_variable('LDLIBRARY', '')
-        if run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() != 0
+        if not fsmod.exists(pylib_loc / pylib_ldlibrary)
           # Workaround for Fedora
           pylib_loc = python.get_variable('LIBDIR', '')
           message('pylib_loc = @0@'.format(pylib_loc))
         endif
 
-        res = run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary))
-        if res.returncode() != 0
+        if not fsmod.exists(pylib_loc / pylib_ldlibrary)
           error_msg = '@0@ doesn\' exist, can\'t use python'.format(join_paths(pylib_loc, pylib_ldlibrary))
         endif
       endif
@@ -310,7 +309,7 @@ else:
 '''
 pygi_override_dir = get_option('pygi-overrides-dir')
 if pygi_override_dir == ''
-    cres = run_command(python3, '-c', override_detector, get_option('prefix'))
+    cres = run_command(python3, '-c', override_detector, get_option('prefix'), check: false)
     if cres.returncode() == 0
       pygi_override_dir = cres.stdout().strip()
     endif
@@ -327,15 +326,10 @@ endif
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-editing-services.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-editing-services.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 if gio_dep.version().version_compare('< 2.67.4')
index c3b64ed2f6596ac607ef55dbf741e6ffc42b9a13..d54907677ad394184e7072cc701644797fae7341 100644 (file)
@@ -3,7 +3,7 @@ tests = [
 ]
 
 check_test = find_program ('configure_test_check.py')
-have_webrtc_check_deps = run_command (check_test).returncode() == 0
+have_webrtc_check_deps = run_command (check_test, check: false).returncode() == 0
 
 if openssl.found() and have_webrtc_check_deps
   test_deps = [certs]
index 4e518dfd2a643fb58bac20207963ddfd1cdaeb34..5212b4dee4e0a8f6a487474cf435382512a51a56 100644 (file)
@@ -8,19 +8,16 @@ nuget = find_program('nuget.py')
 dependencies = []
 foreach dependency, version: { 'Newtonsoft.Json': '11.0.2', 'WebSocketSharp': '1.0.3-rc11'}
     message('Getting @0@:@1@'.format(dependency, version))
-    get_dep= run_command(nuget, 'get',
+    get_dep = run_command(nuget, 'get',
         '--builddir',  dependency,
         '--nuget-name', dependency,
         '--nuget-version', version,
         '--csharp-version=net45',
         '--current-builddir', meson.current_build_dir(),
         '--builddir', meson.global_build_root(),  # FIXME: --builddir specified twice?!
+        check: true,
     )
 
-    if get_dep.returncode() != 0
-        error('Failed to get @0@-@1@: @2@'.format(dependency, version, get_dep.stderr()))
-    endif
-
     link_args = get_dep.stdout().split()
     dependencies += [declare_dependency(link_args: link_args, version: version)]
     foreach path: get_dep.stdout().split()
index b51af66035494b8d78ad61740c8627e9855c5403..5f25f208372ddc6be468bef7b74b46f881736166 100644 (file)
@@ -37,7 +37,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
index a114631485d466b461859840bb22ebf85b52d6c3..296f57ee593e2443087aa6b257b219e87967d717 100644 (file)
@@ -207,15 +207,10 @@ subdir('tests')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-libav.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-libav.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output: 'config.h', configuration: cdata)
index e67d7b25539774b5d423b97f50d1b10046c9956d..c0ad4eaa853736ab41db9ec52bd9e74c195dd5e7 100644 (file)
@@ -415,15 +415,10 @@ subdir('docs')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-omx.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-omx.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output: 'config.h', configuration: cdata)
index 310bcaf97e67ba9f13f84a9d0bb5e2a27872cbde..88c149343d5f4776558aeb1bf09ec311f44b62c5 100644 (file)
@@ -57,7 +57,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -215,10 +215,8 @@ import json
 
 with open("@0@") as f:
     print(':'.join(json.load(f).keys()), end='')
-'''.format(plugins_cache))
-
-assert(list_plugin_res.returncode() == 0,
-  'Could not list plugins from @0@'.format(plugins_cache))
+'''.format(plugins_cache),
+  check: true)
 
 plugins_doc = []
 foreach plugin_name: list_plugin_res.stdout().split(':')
index 709c7e6a446465e91005109e2245535f2d2ed59b..1d86b9092d9daf82374659794a37b03c9b2262ec 100644 (file)
@@ -89,15 +89,15 @@ if opencv_found
 
   # Check the data dir used by opencv for its xml data files
   # Use prefix from pkg-config to be compatible with cross-compilation
-  r = run_command('test', '-d', opencv_prefix + '/share/opencv')
+  r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false)
   if r.returncode() == 0
     gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"'
   else
-    r = run_command('test', '-d', opencv_prefix + '/share/OpenCV')
+    r = run_command('test', '-d', opencv_prefix + '/share/OpenCV', check: false)
     if r.returncode() == 0
       gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"'
     else
-      r = run_command('test', '-d', opencv_prefix + '/share/opencv4')
+      r = run_command('test', '-d', opencv_prefix + '/share/opencv4', check: false)
       if r.returncode() == 0
         gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
       else
index 090a7c71614a9aef3ebc379495f1e4bab5f09c4e..1e5b4ac0c9c4a6bdd4f647b7c7ada7beab7c0ffc 100644 (file)
@@ -110,7 +110,7 @@ if ['ios', 'darwin'].contains(host_system)
   #   https://github.com/KhronosGroup/MoltenVK/issues/492
   vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan'))
 elif host_system == 'windows'
-  vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))').stdout().strip()
+  vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))', check: false).stdout().strip()
   if vulkan_root != '' and vulkan_root != 'None'
     vulkan_lib_dir = ''
     if build_machine.cpu_family() == 'x86_64'
index 2b2db15453cf55393eaffba86928495dd8907758..cbb9e656383cbf812d80253473306c00e6560f62 100644 (file)
@@ -536,15 +536,10 @@ subdir('scripts')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-bad.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-bad.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 if glib_dep.version().version_compare('< 2.67.4')
index f468403262e9fe21cafa236b8b9cc488d58ae69b..24aabc761237c7861b82b9585b193b521d115853 100644 (file)
@@ -51,7 +51,7 @@ if mfx_api != 'oneVPL'
     use_msdk = true
   else
     # Old versions of MediaSDK don't provide a pkg-config file
-    mfx_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))').stdout().strip()
+    mfx_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))', check: false).stdout().strip()
 
     if mfx_root != ''
       mfx_libdir = [mfx_root + '/lib/lin_x64', mfx_root + '/lib/x64', mfx_root + '/lib64', mfx_root + '/lib']
index cdc39244cf9bccb8d4f937bbc82130e1d0cb767e..4cc5dc040430883316767d1710200060289195f9 100644 (file)
@@ -58,7 +58,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -202,12 +202,8 @@ import json
 
 with open("@0@") as f:
     print(':'.join(json.load(f).keys()), end='')
-'''.format(plugins_cache))
-
-assert(list_plugin_res.returncode() == 0,
-  'Could not list plugins from @0@\n@1@\n@1@'.format(plugins_cache, list_plugin_res.stdout(), list_plugin_res.stderr()))
-
-
+'''.format(plugins_cache),
+  check: true)
 foreach plugin_name: list_plugin_res.stdout().split(':')
     plugins_doc += [hotdoc.generate_doc(plugin_name,
         project_version: api_version,
index 7f48c7d14f8a3a63776000352d7bb6340bc16d3f..404c983f016116d8a69cfb06092bc544cff076eb 100644 (file)
@@ -524,15 +524,10 @@ endif
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-base.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    core_conf.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-base.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  core_conf.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 if gio_dep.version().version_compare('< 2.67.4')
index 150e04c6dc3870356c49bff9e72ee7d472f81333..beed1ae125b40ddf591cc8a49aa90e1ea78bfb46 100644 (file)
@@ -39,7 +39,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -83,11 +83,8 @@ import json
 
 with open("@0@") as f:
     print(':'.join(json.load(f).keys()), end='')
-'''.format(plugins_cache))
-
-assert(list_plugin_res.returncode() == 0,
-  'Could not list plugins from @0@'.format(plugins_cache))
-
+'''.format(plugins_cache),
+  check: true)
 foreach plugin_name: list_plugin_res.stdout().split(':')
     plugins_doc += [hotdoc.generate_doc(plugin_name,
     project_version: api_version,
index 60e390ff7232dc7797100f5b3ae0d8e65505c1e1..2097f9764ab0994d73e2a0ca7f1e92fe86365076 100644 (file)
@@ -390,7 +390,7 @@ if host_cpu == 'x86_64'
     if nasm.found()
       # We can't use the version: kwarg for find_program because old versions
       # of nasm don't support --version
-      ret = run_command(nasm, '-v')
+      ret = run_command(nasm, '-v', check: false)
       if ret.returncode() == 0
         nasm_version = ret.stdout().strip().split()[2]
         nasm_req = '>=2.13'
@@ -489,15 +489,10 @@ subdir('scripts')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-good.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-good.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 if gio_dep.version().version_compare('< 2.67.4')
index 73a7d0532d7694a1ea033b132b5f840ee4dd7f34..f71d07bb9671c143471cb04dacc0b37448216c14 100644 (file)
@@ -39,7 +39,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -84,11 +84,8 @@ import json
 
 with open("@0@") as f:
         print(':'.join(json.load(f).keys()), end='')
-'''.format(plugins_cache))
-
-assert(list_plugin_res.returncode() == 0,
-  'Could not list plugins from @0@'.format(plugins_cache))
-
+'''.format(plugins_cache),
+  check: true)
 foreach plugin_name: list_plugin_res.stdout().split(':')
     plugins_doc += [hotdoc.generate_doc(plugin_name,
         project_version: api_version,
index b015f26a53fb4debea2ecfb982038c05bd32141f..b9c6772ba005ffdf858546aa3aa7664b0d8ef29a 100644 (file)
@@ -296,15 +296,10 @@ subdir('scripts')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-ugly.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-plugins-ugly.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output : 'config.h', configuration : cdata)
index 56b48342871a205a0170a6de6cd2bbf2568861e7..7d1f45356e975dfa3ae2999240674d65c8b2896d 100644 (file)
@@ -34,20 +34,19 @@ python_dep = python.dependency(embed:true, required : true)
 python_abi_flags = python.get_variable('ABIFLAGS', '')
 pylib_loc = get_option('libpython-dir')
 if pylib_loc == ''
-  check_path_exists = 'import os, sys; assert(os.path.exists(sys.argv[1]))'
+  fsmod = import('fs')
   pylib_loc = python.get_variable('LIBPL', '')
   if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
     pylib_ldlibrary = python.get_variable('LDLIBRARY', '')
-    if run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() != 0
+    if not fsmod.exists(pylib_loc / pylib_ldlibrary)
       # Workaround for Fedora
       pylib_loc = python.get_variable('LIBDIR', '')
       message('pylib_loc = @0@'.format(pylib_loc))
     endif
 
-    assert(
-      run_command(python, '-c', check_path_exists, join_paths(pylib_loc, pylib_ldlibrary)).returncode() == 0,
-      'Python dynamic library path could not be determined'
-    )
+    if not fsmod.exists(pylib_loc / pylib_ldlibrary)
+      error('Python dynamic library path could not be determined')
+    endif
   endif
 endif
 
index 8ead4b7b4cc3322c1e6c036ce72b65de80905de1..13738a9f36bc4da86f57c66cdc6b3535bdd187fa 100644 (file)
@@ -10,21 +10,14 @@ pluginsdirs = []
 if not meson.is_subproject()
   pkgconfig = find_program('pkg-config')
   runcmd = run_command(pkgconfig, '--variable=pluginsdir',
-      'gstreamer-' + api_version)
-  if runcmd.returncode() == 0
-      pluginsdirs = runcmd.stdout().split()
-  else
-    error('Could not determine GStreamer core plugins directory for unit tests.')
-  endif
+      'gstreamer-' + api_version, check: true)
+  pluginsdirs = runcmd.stdout().split()
 endif
 
 runcmd = run_command(python, '-c', '''with open("@0@/mesonconfig.py", "w") as f:
     f.write("path='@1@'")'''.format(
-  join_paths(meson.current_build_dir()), join_paths(meson.current_build_dir(), '..')))
-
-if runcmd.returncode() != 0
-    error('Could not configure testsuite config file.' + runcmd.stderr())
-endif
+  join_paths(meson.current_build_dir()), join_paths(meson.current_build_dir(), '..')),
+  check: true)
 
 pluginsdirs = []
 if gst_dep.type_name() == 'pkgconfig'
index cc56a16c35626d1835d81416d942e94e857cf179..fa649cf077862042f0561ae9b028e5a2c29c3656 100644 (file)
@@ -57,7 +57,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
index 103d97ccc7090d9fde746cb8d778018cd5250834..61bbae83b98323c5ab3494f33521f8a7c1713577 100644 (file)
@@ -208,15 +208,10 @@ subdir('docs')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gst-rtsp-server.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gst-rtsp-server.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output: 'config.h', configuration: cdata)
index 8e50ead9f2e16f84978942bf66b12f03dead9115..59bf9d182b66bff8e566a45711238d135c6e24d9 100644 (file)
@@ -13,22 +13,19 @@ if nunit_console.found()
         '--csharp-version=net45',
         '--current-builddir', meson.current_build_dir(),
         '--builddir', meson.build_root(), # FIXME: --builddir specified twice?!
+        check: true,
     )
 
 
     nunit_mono_path = []
     nunit_dep = dependency('mono-nunit', required: false, version: ['>=2.6', '< 2.7'])
     if not nunit_dep.found()
-        if get_nunit_res.returncode() != 0
-            message('Failed to get NUnit: ' + get_nunit_res.stderr())
-        else
-            foreach path: get_nunit_res.stdout().split()
-              nunit_mono_path += [join_paths(meson.build_root(), path.strip('-r:'), '..')]
-            endforeach
+        foreach path: get_nunit_res.stdout().split()
+          nunit_mono_path += [meson.build_root() / path.strip('-r:') / '..']
+        endforeach
 
-            nunit_dep = declare_dependency(link_args: get_nunit_res.stdout().split(),
-                version: nunit_version)
-        endif
+        nunit_dep = declare_dependency(link_args: get_nunit_res.stdout().split(),
+            version: nunit_version)
     endif
 
     if nunit_mono_path.length() > 0
index 3b2a70c08480a7f29d0bcd488d8249380778fc0b..cbff75cba31b765bce34d295e2a3c86f4ba9a7e2 100644 (file)
@@ -37,7 +37,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
index b7bd10ffc626b201b1c679a3af97e84d0f727192..09273b25e1956855a7905d94a26e69e56bdeb044 100644 (file)
@@ -204,15 +204,10 @@ subdir('docs')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gstreamer-vaapi.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gstreamer-vaapi.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 if gmodule_dep.version().version_compare('< 2.67.4')
index 148c6e08bad130e01a4f82780b48da1842f4a60f..26331d7f3a50fdcc2d9d0bc8a99024d9216d8ff9 100644 (file)
@@ -42,7 +42,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
index 161f4801eabbbe00a4b92d0a0f53082e0672ba90..b79a07caf83fc0c1761f62b75d9632a18538fa77 100644 (file)
@@ -33,11 +33,7 @@ bison_cdata = configuration_data()
 bison_min_version='2.4'
 bison = find_program('bison', 'win_bison')
 
-bversion_res = run_command([bison, '--version'])
-if bversion_res.returncode() != 0
-  error('Could not get bison version (@0@)'.format(bversion_res.stderr()))
-endif
-
+bversion_res = run_command([bison, '--version'], check: true)
 bversion = bversion_res.stdout().split('\n')[0].split(' ')[-1].strip()
 if bversion.version_compare('<' + bison_min_version)
   error('bison version @0@ >= @1@: NO'.format(bversion, bison_min_version))
index d20fe0040fe0a80f36984dcb46f3a5e1f319b638..5bb5ccb3e6b73d30d570727a177a5f56c685ffd7 100644 (file)
@@ -608,15 +608,10 @@ subdir('scripts')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output : 'config.h', configuration : cdata)
index aae7cf63bdbaa0664d2c5f04e82a93ae4af7fd05..14f5af4b84693927ba1aa24e4f036f39027ae39c 100644 (file)
@@ -8,7 +8,7 @@ endif
 root_rel = '../..'
 python = import('python').find_installation()
 
-if run_command(python, '-c', 'import gi').returncode() != 0
+if run_command(python, '-c', 'import gi', check: false).returncode() != 0
     message('PyGObject not found, not running PyGObject tests')
     subdir_done()
 endif