Am 09.02.19 um 19:25 schrieb Junio C Hamano:
> Johannes Sixt <[email protected]> writes:
>
>> How many bytes are needed here? yes() in test-lib.sh generates only 99
>> 'y', if I am not mistaken.
>
> I think we will not use "yes" in the end for this topic, which makes
> this comment totally irrelevant to the thread, but I wonder why we
> have the limit of 99 there? It cannot be "we do not want to worry
> about sigpipe" affecting the end result of the test (after all the
> reader may stop reading from after reading just one, and the status
> of the upstream process that would die with sigpipe is lost anyway).
>
> It turns out it is about sigpipe ;-) but in somewhat a different
> way. To prevent others from wasting their time wondering about
> this, probably we want to have something like the attached?
That would certainly be helpful!
-- Hannes
>
> t/README | 9 +++++++++
> t/test-lib.sh | 6 +++++-
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/t/README b/t/README
> index 1326fd7505..f4e1a82657 100644
> --- a/t/README
> +++ b/t/README
> @@ -927,6 +927,15 @@ library for your script to use.
> test_oid_init or test_oid_cache. Providing an unknown key is an
> error.
>
> + - yes [<string>]
> +
> + This is often seen in modern UNIX but some platforms lack it, so
> + the test harness overrides the platform implementation with a
> + more limited one. Use this only when feeding a handful lines of
> + output to the downstream---unlike the real version, it generates
> + only up to 99 lines.
> +
> +
> Prerequisites
> -------------
>
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 42b1a0aa7f..541a37f4c0 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -1313,7 +1313,11 @@ then
> fi
> fi
>
> -# Provide an implementation of the 'yes' utility
> +# Provide an implementation of the 'yes' utility; the upper bound
> +# limit is there to help Windows that cannot stop this loop from
> +# wasting cycles when the downstream stops reading, so do not be
> +# tempted to turn it into an infinite loop. cf. 6129c930 ("test-lib:
> +# limit the output of the yes utility", 2016-02-02)
> yes () {
> if test $# = 0
> then
>