diff --git a/meson.build b/meson.build index d5b33e6ba..0438c556f 100644 --- a/meson.build +++ b/meson.build @@ -217,3 +217,13 @@ if (get_option('fish_completions')) install_data(fish_files, install_dir: fish_install_dir) endif + +if (get_option('interactive-tests')) + # A test to run the just built sway executable, with all the auxilliaries + # in the path. + sway_paths_find_cmd = 'find @0@ -maxdepth 1 -type d -name \'sway*\' -printf \':%p\''.format(meson.current_build_dir()) + sway_paths = run_command('sh', '-c', sway_paths_find_cmd).stdout().strip() + current_env = environment() + current_env.append('PATH', sway_paths) + test('sway', sway_exec, env : current_env, is_parallel : false, timeout : 3600) +endif diff --git a/meson_options.txt b/meson_options.txt index 5e54607f7..a9f1c693e 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,3 +4,4 @@ option('zsh_completions', type: 'boolean', value: true, description: 'Install zs option('bash_completions', type: 'boolean', value: true, description: 'Install bash shell completions.') option('fish_completions', type: 'boolean', value: true, description: 'Install fish shell completions.') option('enable-xwayland', type: 'boolean', value: true, description: 'Enable support for X11 applications') +option('interactive-tests', type: 'boolean', value: true, description: 'Enable interactive tests') diff --git a/sway/meson.build b/sway/meson.build index bcb44e8b1..ea67677a7 100644 --- a/sway/meson.build +++ b/sway/meson.build @@ -177,7 +177,7 @@ if get_option('enable-xwayland') sway_deps += xcb endif -executable( +sway_exec = executable( 'sway', sway_sources, include_directories: [sway_inc],