meson: Use the tests option for validate
authorNirbheek Chauhan <nirbheek@centricular.com>
Thu, 11 Jun 2020 07:46:40 +0000 (13:16 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Thu, 11 Jun 2020 08:31:01 +0000 (14:01 +0530)
This is what gstreamer core does too, and avoids a configure error
when tests are disabled globally. Also print a useful error when
gst_tester is not found from the gstreamer subproject.

This broke in https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/667

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/697>

meson_options.txt
tests/meson.build
tests/validate/meson.build

index a1bee94..bb3cb3c 100644 (file)
@@ -87,5 +87,3 @@ option('package-origin', type : 'string', value : 'Unknown package origin', yiel
        description : 'package origin URL to use in plugins')
 option('doc', type : 'feature', value : 'auto', yield: true,
        description: 'Enable documentation.')
-option('validate', type : 'feature', value : 'auto', yield: true,
-       description: 'Enable validate tests.')
index b15dd52..25bd349 100644 (file)
@@ -10,11 +10,8 @@ gst_plugin_scanner_path = join_paths(gst_plugin_scanner_dir, 'gst-plugin-scanner
 if not get_option('tests').disabled() and gst_check_dep.found()
   subdir('check')
   subdir('icles')
+  subdir('validate')
 endif
 if not get_option('examples').disabled()
   subdir('examples')
 endif
-
-if not get_option('validate').disabled()
-  subdir('validate')
-endif
index 6e89aed..da1f159 100644 (file)
@@ -1,7 +1,13 @@
 if gst_dep.type_name() == 'internal'
-    gst_tester = gst_proj.get_variable('gst_tester')
+    gst_tester = gst_proj.get_variable('gst_tester', false)
+    if gst_tester == false
+        if get_option('tests').enabled()
+            error('Tests are enabled for gst-plugins-base but were not enabled for the gstreamer subproject')
+        endif
+        subdir_done()
+    endif
 else
-    gst_tester = find_program('gst-tester-@0@'.format(api_version), required: get_option('validate'))
+    gst_tester = find_program('gst-tester-@0@'.format(api_version), required: get_option('tests'))
     if not gst_tester.found()
         subdir_done()
     endif
@@ -42,4 +48,4 @@ foreach t: tests
     test_file = join_paths(meson.current_source_dir(), t + '.validatetest')
     test(test_name, gst_tester, args: [test_file, '--use-fakesinks'],
         env: test_env, timeout : 3 * 60, protocol: 'tap')
-endforeach
\ No newline at end of file
+endforeach