[igt-dev] [PATCH i-g-t 1/2] meson: add an option to control Xe test builds
Rodrigo Vivi
rodrigo.vivi at intel.com
Tue May 9 15:13:40 UTC 2023
On Tue, May 09, 2023 at 09:34:25AM +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>
> ---
> docs/testplan/meson.build | 9 ++++++++-
> meson_options.txt | 9 +++++++++
> tests/meson.build | 23 ++++++++++++++---------
> 3 files changed, 31 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_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.
The commit message and this comment here made me to remember to send
this patch:
https://lore.kernel.org/all/20230509151008.1434683-1-rodrigo.vivi@intel.com/
Even when we are merged upstream we might still for a while have
uapi changes. The right turning point is when we remove the STAGING
build dependency.
> +# 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..ff7c37304b4d 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -317,15 +317,20 @@ 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
> +build_xe = not get_option('xe_driver').disabled()
> +
> +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