Subject: Re: [PATCH 0/4] Fix tests with missing iconv(1) executable

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 17 Feb 2026 12:54:50 +0100

On Mon, Feb 16, 2026 at 09:57:33AM +0100, Christian Couder wrote:
> On Mon, Feb 9, 2026 at 1:42 PM Patrick Steinhardt <[email-masked]> wrote:
> > In any case, this patch series causes the MSVC jobs to pass again on
> > GitLab CI.
> 
> I think it would be nice if this could talk a bit about the NO_ICONV
> build knob and how it still relates to the ICONV prereq though.
> 
> Before this series, for example, the Makefile says:
> 
>   # Define NO_ICONV if your libc does not properly support iconv.
> 
> while t/test-lib.sh has:
> 
>   test -z "$NO_ICONV" && test_set_prereq ICONV
> 
> Unfortunately the diffstat below:
> 
> >  t/t4041-diff-submodule-option.sh             |  8 +++--
> >  t/t4059-diff-submodule-not-initialized.sh    |  8 +++--
> >  t/t4060-diff-submodule-option-diff-format.sh |  8 +++--
> >  t/t4205-log-pretty-formats.sh                | 50 ++++++++++++++++------------
> >  t/t5550-http-fetch-dumb.sh                   | 20 +++++------
> >  t/t6006-rev-list-format.sh                   | 29 +++++++++++-----
> >  6 files changed, 77 insertions(+), 46 deletions(-)
> 
> shows no change in the Makefile, or any build infrastructure file,
> despite the fact that the series changes the one-to-one relationship
> between the NO_ICONV build knob and the ICONV prereq.
> 
> In the Makefile, for example, I think something like the following
> would be nice:

Agreed, it makes sense to document this. I'll do so in the test lib
though, and also expand how we define the ICONV prerequisite to cover
the new semantics.

Patrick