On February 9, 2019 13:25, Junio C Hamano wrote: > Johannes Sixt <j6t@xxxxxxxx> 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? > > 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 Sadly, I already the other path ready, but did not have a chance to send it. I'm ok either way as long as I can get the tests running. Regards, Randall