* [PATCH] meson: use test_environment conditionally.
@ 2025-03-14 18:02 Sam James
2025-03-19 13:39 ` Patrick Steinhardt
0 siblings, 1 reply; 2+ messages in thread
From: Sam James @ 2025-03-14 18:02 UTC (permalink / raw)
To: git; +Cc: Patrick Steinhardt, Eli Schwartz, Sam James
test_environment is only defined with -Dtests, so use it conditionally
and define a stub environment() instead, to avoid erroring out:
```
$ meson setup -Dtests=false -Dcontrib=subtree build
[...]
contrib/subtree/meson.build:15:27: ERROR: Unknown variable "test_environment".
```
Do the same for 'netrc' in contrib/ as it uses the same pattern.
---
Not sure if we can do better here somehow or not (with a disabler?)
contrib/credential/netrc/meson.build | 8 ++++++--
contrib/subtree/meson.build | 8 ++++++--
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/contrib/credential/netrc/meson.build b/contrib/credential/netrc/meson.build
index a990dbb86d..6d815d01c4 100644
--- a/contrib/credential/netrc/meson.build
+++ b/contrib/credential/netrc/meson.build
@@ -7,8 +7,12 @@ 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())
+else
+ credential_netrc_testenv = environment()
+fi
test('t-git-credential-netrc',
shell,
diff --git a/contrib/subtree/meson.build b/contrib/subtree/meson.build
index 9c72b23625..d18f188216 100644
--- a/contrib/subtree/meson.build
+++ b/contrib/subtree/meson.build
@@ -12,8 +12,12 @@ 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())
+else
+ subtree_test_environment = environment()
+endif
test('t7900-subtree', shell,
args: [ 't7900-subtree.sh' ],
--
2.48.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] meson: use test_environment conditionally.
2025-03-14 18:02 [PATCH] meson: use test_environment conditionally Sam James
@ 2025-03-19 13:39 ` Patrick Steinhardt
0 siblings, 0 replies; 2+ messages in thread
From: Patrick Steinhardt @ 2025-03-19 13:39 UTC (permalink / raw)
To: Sam James; +Cc: git, Eli Schwartz
On Fri, Mar 14, 2025 at 06:02:47PM +0000, Sam James wrote:
> test_environment is only defined with -Dtests, so use it conditionally
> and define a stub environment() instead, to avoid erroring out:
>
> ```
> $ meson setup -Dtests=false -Dcontrib=subtree build
> [...]
>
> contrib/subtree/meson.build:15:27: ERROR: Unknown variable "test_environment".
> ```
>
> Do the same for 'netrc' in contrib/ as it uses the same pattern.
> ---
> Not sure if we can do better here somehow or not (with a disabler?)
>
> contrib/credential/netrc/meson.build | 8 ++++++--
> contrib/subtree/meson.build | 8 ++++++--
> 2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/contrib/credential/netrc/meson.build b/contrib/credential/netrc/meson.build
> index a990dbb86d..6d815d01c4 100644
> --- a/contrib/credential/netrc/meson.build
> +++ b/contrib/credential/netrc/meson.build
> @@ -7,8 +7,12 @@ 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())
> +else
> + credential_netrc_testenv = environment()
> +fi
>
> test('t-git-credential-netrc',
> shell,
> diff --git a/contrib/subtree/meson.build b/contrib/subtree/meson.build
> index 9c72b23625..d18f188216 100644
> --- a/contrib/subtree/meson.build
> +++ b/contrib/subtree/meson.build
> @@ -12,8 +12,12 @@ 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())
> +else
> + subtree_test_environment = environment()
> +endif
>
> test('t7900-subtree', shell,
> args: [ 't7900-subtree.sh' ],
Thanks for the fix! I think it doesn't quite go far enough though, does
it? I would have expected us to completely disable tests in case we have
`!get_option("tests")`, e.g. like the below patch.
I see this patch has already been merged to `next` though, so we'd have
to send a follow-up fix that builds on top of it. Do you want to do it
or shall I send this patch?
Thanks!
Patrick
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(
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-03-19 13:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-14 18:02 [PATCH] meson: use test_environment conditionally Sam James
2025-03-19 13:39 ` Patrick Steinhardt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.