1 # tests and condition when to skip the test
4 ['ges/backgroundsource'],
10 ['ges/timelineedition'],
24 ['nle/nlecomposition'],
30 '-UG_DISABLE_CAST_CHECKS',
31 '-DGES_TEST_FILES_PATH="@0@"'.format(join_paths(meson.current_source_dir(), 'assets')),
32 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
33 '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
34 '-DGST_USE_UNSTABLE_API',
38 if gst_dep.type_name() == 'pkgconfig'
39 pbase = dependency('gstreamer-plugins-base-' + apiversion, required : false)
40 pbad = dependency('gstreamer-plugins-bad-' + apiversion, required : false)
42 pluginsdirs = [gst_dep.get_pkgconfig_variable('pluginsdir'),
43 pbase.get_pkgconfig_variable('pluginsdir'),
44 pbad.get_pkgconfig_variable('pluginsdir')]
48 fname = '@0@.c'.format(t.get(0))
49 test_name = t.get(0).underscorify()
58 env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
59 env.set('GST_STATE_IGNORE_ELEMENTS', '')
60 env.set('CK_DEFAULT_TIMEOUT', '20')
61 env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
62 env.set('GST_PLUGIN_PATH_1_0', [meson.build_root()] + pluginsdirs)
64 exe = executable(test_name, fname,
65 'ges/test-utils.c', 'nle/common.c',
66 c_args : ges_c_args + test_defines,
67 include_directories : [configinc],
68 dependencies : libges_deps + [gstcheck_dep, ges_dep],
70 test(test_name, exe, env: env, timeout : 3 * 60)
74 if gstvalidate_dep.found()
75 # filename: is .validatetest
77 'check_video_track_restriction_scale': false,
78 'check_video_track_restriction_scale_with_keyframes': false,
79 'check_edit_in_frames': false,
80 'check_edit_in_frames_with_framerate_mismatch': false,
81 'check_layer_activness_gaps': false,
82 'seek_with_stop': true,
83 'seek_with_stop.check_clock_sync': true,
84 'edit_while_seeked_with_stop': true,
85 'complex_effect_bin_desc': true,
88 foreach scenario, is_validatetest: scenarios
91 env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
92 env.set('GST_STATE_IGNORE_ELEMENTS', '')
93 env.set('CK_DEFAULT_TIMEOUT', '20')
94 env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), 'scenarios'))
95 env.set('GST_PLUGIN_PATH_1_0', [meson.build_root()] + pluginsdirs)
96 env.set('GST_VALIDATE_LOGSDIR', meson.current_build_dir() / scenario)
99 testfile = meson.current_source_dir() / 'scenarios' / scenario + '.validatetest'
100 test(scenario, ges_launch, env: env, args: ['--set-test-file', testfile, '--mute'])
102 scenario_file = meson.current_source_dir() / 'scenarios' / scenario + '.scenario'
103 test(scenario, ges_launch, env: env, args: ['--set-scenario', scenario_file])
107 test('simple_playback_test', ges_launch, env: env, args: ['+test-clip', 'blue', 'd=0.1', '--disable-validate', '--videosink=fakevideosink', '--audiosink=fakesink'])
111 # Make sure to use the subproject gst-validate-launcher if available.
112 if gstvalidate_dep.found() and gstvalidate_dep.type_name() == 'internal'
113 runtests = subproject('gst-devtools').get_variable('launcher')
115 runtests = find_program('gst-validate-launcher', required : false)
119 test('pythontests', runtests, args: ['--pyunittest-dir', meson.current_source_dir(), 'pyunittest', '--dump-on-failure'],