diff --git a/src/tests/meson.build b/src/tests/meson.build index b21af313d..4d075a1b9 100644 --- a/src/tests/meson.build +++ b/src/tests/meson.build @@ -370,6 +370,7 @@ test_cases += [ 'depends': [ screen_cast_client, ], + 'launch': [ 'pipewire', 'wireplumber' ], }, { 'name': 'pointer-constraints', @@ -682,9 +683,19 @@ foreach test_case: test_cases test_depends = [ default_plugin ] + test_case.get('depends', []) + test_case_env = environment() + test_case_env_variables = test_env_variables + test_case_env_variables += { + 'MUTTER_DBUS_RUNNER_LAUNCH': ','.join(test_case.get('launch', [])) + } + + foreach name, value: test_case_env_variables + test_case_env.set(name, value) + endforeach + test(test_case['name'], test_executable, suite: ['core', 'mutter/' + test_case['suite']], - env: test_env, + env: test_case_env, depends: test_depends, is_parallel: false, timeout: 60, diff --git a/src/tests/mutter_dbusrunner.py b/src/tests/mutter_dbusrunner.py index 8d5893b16..1c4c27b1b 100644 --- a/src/tests/mutter_dbusrunner.py +++ b/src/tests/mutter_dbusrunner.py @@ -298,6 +298,10 @@ def meta_run(klass): else: print('WARNING: Command or separator `--` not found', file=sys.stderr) + launch = os.getenv('MUTTER_DBUS_RUNNER_LAUNCH') + if launch: + args.launch.append(launch.split(',')) + if args.no_isolate_dirs: return meta_run_klass(klass, args, rest)