gst_python = subproject('gst-python', required: false)
gir = find_program('g-ir-scanner', required : get_option('introspection'))
if not gst_python.found() or not gir.found()
    message('Not running python devenv tests: gst_python: @0@ gir: @1@'.format(gst_python.found(), gir.found()))
    subdir_done()
endif

root_rel = '../..'
python = import('python').find_installation()

if run_command(python, '-c', 'import gi').returncode() != 0
    message('PyGObject not found, not running PyGObject tests')
    subdir_done()
endif

test('python-overrides-devenv', setenv, args: ['--builddir=@0@'.format(meson.project_build_root()),
              '--gstbuilddir=@0@'.format(meson.current_build_dir() / '..' / '..'),
              '--srcdir=@0@'.format(meson.project_source_root()),
              meson.current_source_dir() / 'python-devenv-overrides.py'])

env = environment()
env.set('GI_TYPELIB_PATH', meson.current_build_dir() / root_rel)
if build_machine.system() == 'windows'
    env.append('PATH', meson.current_build_dir() / root_rel)
elif build_machine.system() == 'linux'
    env.append('LD_LIBRARY_PATH', meson.current_build_dir() / root_rel)
else
    env.append('DYLD_LIBRARY_PATH', meson.current_build_dir() / root_rel)
endif

env.set('GST_OVERRIDE_SRC_PATH', meson.current_source_dir() / root_rel / 'subprojects/gst-python/gi/overrides')
env.set('GST_OVERRIDE_BUILD_PATH', meson.current_build_dir() / root_rel / 'subprojects/gst-python/gi/overrides')

test('python-full', python, args: [meson.current_source_dir() / 'python-full.py'], env: env)