[igt-dev] [PATCH i-g-t v2 1/2] meson: add an option to control Xe test builds
Kamil Konieczny
kamil.konieczny at linux.intel.com
Fri May 12 08:49:53 UTC 2023
On 2023-05-09 at 12:42:02 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
>
> The Xe driver is currently under heavy development and has not
> merged upstream yet. While merging doesn't happen, the API may
> still change, as upstream may request changes on it and/or
> driver developers may need to tweak some API bits.
>
> While this is happening, incompatible API changes may still
> happen. As IGT is distributed on some distros, placing Xe
> tests on binaries is not a good idea, as such tests may fail
> when the final version gets released.
>
> So, add a build option to allow disabling Xe driver builds.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
> docs/testplan/meson.build | 9 ++++++++-
> meson.build | 1 +
> meson_options.txt | 9 +++++++++
> tests/meson.build | 21 ++++++++++++---------
> 4 files changed, 30 insertions(+), 10 deletions(-)
>
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index b65ee964ddd2..2014f91b5be1 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -23,11 +23,18 @@ else
> doc_dependencies = []
> endif
>
> +xe_test_dict = {
> + 'xe_tests': { 'input': xe_test_config, 'extra_args': check_testlist }
> + }
> +
> test_dict = {
> - 'xe_tests': { 'input': xe_test_config, 'extra_args': check_testlist },
> 'kms_tests': { 'input': kms_test_config, 'extra_args': [] }
> }
>
> +if build_xe
> + test_dict += xe_test_dict
> +endif
> +
> foreach testplan, fields: test_dict
> rst = custom_target(testplan + '.rst',
> build_by_default : true,
> diff --git a/meson.build b/meson.build
> index 0362178444ee..1c872cc9cb02 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -85,6 +85,7 @@ endforeach
> build_chamelium = get_option('chamelium')
> build_docs = get_option('docs')
> build_tests = not get_option('tests').disabled()
> +build_xe = not get_option('xe_driver').disabled()
> with_libdrm = get_option('libdrm_drivers')
>
> build_info = ['Build type: ' + get_option('buildtype')]
> diff --git a/meson_options.txt b/meson_options.txt
> index 2cb44f20169b..7b5a818cb72f 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -37,6 +37,15 @@ option('tests',
> type : 'feature',
> description : 'Build tests')
>
> +# Currently, Xe uAPI is not stable: it may still change while the driver is
> +# not merged upstream.
> +# So, add an option to enable it, as distros shall not be shipping
> +# binaries with Xe tests on it, as they will most certainly fail once
> +# drivers get upstreamed.
> +option('xe_driver',
> + type : 'feature',
> + description : 'Build tests for Xe driver (experimental)')
> +
> option('libdrm_drivers',
> type : 'array',
> value : ['auto'],
> diff --git a/tests/meson.build b/tests/meson.build
> index c15eb3a08cb2..38f080f7c26e 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -317,15 +317,18 @@ foreach prog : i915_progs
> test_list += prog
> endforeach
>
> -foreach prog : xe_progs
> - test_executables += executable(prog,
> - join_paths('xe', prog + '.c'),
> - dependencies : test_deps,
> - install_dir : libexecdir,
> - install_rpath : libexecdir_rpathdir,
> - install : true)
> - test_list += prog
> -endforeach
> +if build_xe
> + foreach prog : xe_progs
> + test_executables += executable(prog,
> + join_paths('xe', prog + '.c'),
> + dependencies : test_deps,
> + install_dir : libexecdir,
> + install_rpath : libexecdir_rpathdir,
> + install : true)
> + test_list += prog
> + endforeach
> + build_info += 'Xe **experimental** tests enabled.'
> +endif
>
> foreach prog : msm_progs
> test_executables += executable(prog, join_paths('msm', prog + '.c'),
> --
> 2.40.1
>
More information about the igt-dev
mailing list