git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Toon Claes <toon@iotcl.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] t0450: fix test for out-of-tree builds
Date: Mon, 4 Aug 2025 09:56:40 +0200	[thread overview]
Message-ID: <aJBnuOcQQ1AY6hR4@pks.im> (raw)
In-Reply-To: <20250804073002.1586332-1-toon@iotcl.com>

On Mon, Aug 04, 2025 at 09:30:02AM +0200, Toon Claes wrote:
> When using Meson, builds are out-of-tree and $GIT_BUILD_DIR gets set to
> the path where the build output is landing. To locate the Documentation
> sources, test 't0450' was using that path.
> 
> Modify test 't0450' to use `$GIT_SOURCE_DIR/Documentation` to find the
> documentation sources.
> 
> Signed-off-by: Toon Claes <toon@iotcl.com>
> ---
>  t/t0450-txt-doc-vs-help.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/t/t0450-txt-doc-vs-help.sh b/t/t0450-txt-doc-vs-help.sh
> index 2f7504ae7e..da2d0af5b0 100755
> --- a/t/t0450-txt-doc-vs-help.sh
> +++ b/t/t0450-txt-doc-vs-help.sh
> @@ -41,7 +41,7 @@ help_to_synopsis () {
>  }
>  
>  builtin_to_adoc () {
> -       echo "$GIT_BUILD_DIR/Documentation/git-$1.adoc"
> +       echo "$GIT_SOURCE_DIR/Documentation/git-$1.adoc"
>  }

Ok, the change itself looks reasonable to me. One question that the
commit message doesn't answer though is why this didn't cause the test
to fail. I think the answer is that we have the following loop:

	while read builtin
	do
		...

		adoc="$(builtin_to_adoc "$builtin")" &&
		preq="$(echo BUILTIN_ADOC_$builtin | tr '[:lower:]-' '[:upper:]_')" &&

		if test -f "$adoc"
		then
			test_set_prereq "$preq"
		fi &&

		...
	done <builtins

So we explicitly check wether the ".adoc" file exists, and if it doesn't
we don't have its prereq. All subsequent tests then use that prereq, so
we skip all of those tests with Meson entirely.

Which indicates that this prereq is overly loose: ideally we should not
skip such tests, but rather print an error that something is fishy. I
suspect that we have the prereq in place because there are some builtins
that don't have a corresponding manpage though.

Maybe this is something we could explore: what breaks if we remove the
prereq entirely? And if this breakage is limited to a small number of
builtins we can maybe use an explicit skip-list like we already do with
"t/t0450/adoc-help-mismatches".

Thanks!

Patrick

  reply	other threads:[~2025-08-04  7:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-04  7:30 [PATCH] t0450: fix test for out-of-tree builds Toon Claes
2025-08-04  7:56 ` Patrick Steinhardt [this message]
2025-08-05 12:11   ` Toon Claes
2025-08-08  9:59 ` [PATCH v2 0/2] Harden test t0450-txt-doc-vs-help Toon Claes
2025-08-08  9:59 ` [PATCH v2 1/2] t0450: fix test for out-of-tree builds Toon Claes
2025-08-08  9:59 ` [PATCH v2 2/2] t0450: add allowlist for builtins with missing .adoc Toon Claes
2025-08-08 22:07   ` Junio C Hamano
2025-08-12 12:52     ` Patrick Steinhardt
2025-08-28 23:12       ` Junio C Hamano
2025-09-02 20:57         ` Junio C Hamano
2025-09-03 11:26           ` Toon Claes
2025-09-03 18:46             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aJBnuOcQQ1AY6hR4@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=toon@iotcl.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).