Re: [PATCH 4/4] meson: respect 'tests' build option in contrib
- From
Sam James <sam@gentoo.org>
- Date
- Mar 28, 2025, 18:25 UTC
- Message-ID
- <87semx3tct.fsf@gentoo.org>
- In-Reply-To
- <20250328-b4-pks-collect-build-fixes-v1-4-ead9deda3fbc@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
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`.
Thank you! Sorry for the delay in getting back to you -- I had some thought that I was trying to resolve about the nicer style and then dropped the ball. LGTM.
Show 71 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(