Re: [PATCH v2 3/5] meson: respect 'tests' build option in contrib
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 1, 2025, 16:31 UTC
- Message-ID
- <56435f95-986b-8116-2fef-9d6adfa1bc65@gmx.de>
- In-Reply-To
- <20250331-b4-pks-collect-build-fixes-v2-3-6b06136808f3@pks.im>
Hi Patrick,
On Mon, 31 Mar 2025, Patrick Steinhardt wrote:
Show 15 quoted lines
> Both the "netrc" credential helper and git-subtree(1) from "contrib/" > carry a couple of tests with them. These tests get wired up in Meson > unconditionally even in the case where `-Dtests=false`. As those tests > depend on the `test_enviroment` variable, which only gets defined in > case `-Dtests=true`, the result is an error: > > ``` > $ meson setup -Dtests=false -Dcontrib=subtree build > [...] > > contrib/subtree/meson.build:15:27: ERROR: Unknown variable "test_environment". > ``` > > Fix the issue by not defining these tests at all in case the "tests" > option is set to `false`.
Sounds good, and the patch looks good to me (it would look even better if I had proper code reviewing tools here where I could use the `-w` option, but mailing lists do not offer such tools).
Ciao, Johannes
Show 77 quoted lines
>
> Reported-by: Sam James <sam@gentoo.org>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> contrib/credential/netrc/meson.build | 22 ++++++++++++----------
> contrib/subtree/meson.build | 20 +++++++++++---------
> 2 files changed, 23 insertions(+), 19 deletions(-)
>
> diff --git a/contrib/credential/netrc/meson.build b/contrib/credential/netrc/meson.build
> index a990dbb86da..3d74547c8ae 100644
> --- a/contrib/credential/netrc/meson.build
> +++ b/contrib/credential/netrc/meson.build
> @@ -7,14 +7,16 @@ credential_netrc = custom_target(
> install_dir: get_option('libexecdir') / 'git-core',
> )
>
> -credential_netrc_testenv = test_environment
> -credential_netrc_testenv.set('CREDENTIAL_NETRC_PATH', credential_netrc.full_path())
> +if get_option('tests')
> + credential_netrc_testenv = test_environment
> + credential_netrc_testenv.set('CREDENTIAL_NETRC_PATH', credential_netrc.full_path())
>
> -test('t-git-credential-netrc',
> - shell,
> - args: [ meson.current_source_dir() / 't-git-credential-netrc.sh' ],
> - workdir: meson.current_source_dir(),
> - env: credential_netrc_testenv,
> - depends: test_dependencies + bin_wrappers + [credential_netrc],
> - timeout: 0,
> -)
> + test('t-git-credential-netrc',
> + shell,
> + args: [ meson.current_source_dir() / 't-git-credential-netrc.sh' ],
> + workdir: meson.current_source_dir(),
> + env: credential_netrc_testenv,
> + depends: test_dependencies + bin_wrappers + [credential_netrc],
> + timeout: 0,
> + )
> +endif
> diff --git a/contrib/subtree/meson.build b/contrib/subtree/meson.build
> index 9c72b236259..63714166a61 100644
> --- a/contrib/subtree/meson.build
> +++ b/contrib/subtree/meson.build
> @@ -12,16 +12,18 @@ git_subtree = custom_target(
> install_dir: get_option('libexecdir') / 'git-core',
> )
>
> -subtree_test_environment = test_environment
> -subtree_test_environment.prepend('PATH', meson.current_build_dir())
> +if get_option('tests')
> + subtree_test_environment = test_environment
> + subtree_test_environment.prepend('PATH', meson.current_build_dir())
>
> -test('t7900-subtree', shell,
> - args: [ 't7900-subtree.sh' ],
> - env: subtree_test_environment,
> - workdir: meson.current_source_dir() / 't',
> - depends: test_dependencies + bin_wrappers + [ git_subtree ],
> - timeout: 0,
> -)
> + test('t7900-subtree', shell,
> + args: [ 't7900-subtree.sh' ],
> + env: subtree_test_environment,
> + workdir: meson.current_source_dir() / 't',
> + depends: test_dependencies + bin_wrappers + [ git_subtree ],
> + timeout: 0,
> + )
> +endif
>
> if get_option('docs').contains('man')
> subtree_xml = custom_target(
>
> --
> 2.49.0.604.gff1f9ca942.dirty
>
>
>