meson: Use the tests option for validate

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>
This commit is contained in:
Nirbheek Chauhan 2020-06-11 13:16:40 +05:30
parent 4986138c16
commit 30509252ca
3 changed files with 10 additions and 9 deletions

View 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.')

View 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

View 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
endforeach