git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [Patch v1 3/3] t5562: replace /dev/zero with a pipe from generate_zero_bytes

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 12, 2019, 17:24 UTC
Message-ID
<xmqqd0nwex7w.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<CAPig+cQY57w9rmGzVifKMTMVwt209b959iL9+K79AMfEgiVTfg@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
[jc: Summoning Dscho, J6t for their Windows expertise at the end]
Show 33 quoted lines
> On Sat, Feb 9, 2019 at 1:59 PM <randall.s.becker@rogers.com> wrote:
>> This change removes the dependency on /dev/zero with an equivalent  pipe of
>
> Too many spaces between "equivalent" and "pipe".
>
>> deliberately NUL bytes. This allows tests to proceed where /dev/zero
>> does not exist.
>
> It wouldn't hurt to cite "NonStop" as an example of a platform lacking
> /dev/zero.
>
> The first sentence is a bit off grammatically. Perhaps the entire
> commit message can be collapsed simply to:
>
>     Stop depending on /dev/zero which may not be available on all
>     platforms (for instance, HP NonStop).
>
>> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
>> ---
>> diff --git a/t/t5562-http-backend-content-length.sh b/t/t5562-http-backend-content-length.sh
>> @@ -143,14 +143,14 @@ test_expect_success GZIP 'push gzipped empty' '
>>  test_expect_success 'CONTENT_LENGTH overflow ssite_t' '
>>         NOT_FIT_IN_SSIZE=$(ssize_b100dots) &&
>> -       env \
>> +       generate_zero_bytes infinity  | env \
>>                 CONTENT_TYPE=application/x-git-upload-pack-request \
>>                 QUERY_STRING=/repo.git/git-upload-pack \
>>                 PATH_TRANSLATED="$PWD"/.git/git-upload-pack \
>>                 GIT_HTTP_EXPORT_ALL=TRUE \
>>                 REQUEST_METHOD=POST \
>>                 CONTENT_LENGTH="$NOT_FIT_IN_SSIZE" \
>> -               git http-backend </dev/zero >/dev/null 2>err &&
>> +               git http-backend >/dev/null 2>err &&

Doesn't this "inifinity" mode have the same issue that was worked around by 6129c930 ("test-lib: limit the output of the yes utility", 2016-02-02) on Windows? If I read correctly, the process upstream of the pipe (in this case, perl producing a stream of infinite NULs) would not die when the downstream stops reading with SIGPIPE.

Or is it safe to assume that nobody expects to use http-backend on Windows based servers so this test is a non-issue?

>>         grep "fatal:.*CONTENT_LENGTH" err
>>  '
Thanks.
Previous: Eric SunshineNext: Johannes Sixt
Message 10 of 24 in “2.21.0-rc0 test fixes resulting from use of /dev/zero”
  1. 0/3 2.21.0-rc0 test fixes resulting from use of /dev/zerorandall.s.becker@rogers.com, Feb 9, 2019
  2. 1/3 test-lib-functions.sh: add generate_zero_bytes functionrandall.s.becker@rogers.com, Feb 9, 2019
  3. Eric SunshineFeb 10, 2019
  4. Randall S. BeckerFeb 10, 2019
  5. Jeff KingFeb 12, 2019
  6. Eric SunshineFeb 12, 2019
  7. randall.s.becker@rogers.comFeb 12, 2019
  8. 3/3 t5562: replace /dev/zero with a pipe from generate_zero_bytesrandall.s.becker@rogers.com, Feb 9, 2019
  9. Eric SunshineFeb 10, 2019
  10. Junio C HamanoFeb 12, 2019
  11. Johannes SixtFeb 12, 2019
  12. Junio C HamanoFeb 13, 2019
  13. t5562: do not depend on /dev/zeroMax Kirillov, Feb 15, 2019
  14. Randall S. BeckerFeb 15, 2019
  15. Junio C HamanoFeb 15, 2019
  16. Randall S. BeckerFeb 15, 2019
  17. Junio C HamanoFeb 15, 2019
  18. 2/3 t5318: replace use of /dev/zero with generate_zero_bytesrandall.s.becker@rogers.com, Feb 9, 2019
  19. Eric SunshineFeb 10, 2019
  20. Junio C HamanoFeb 12, 2019
  21. Junio C HamanoFeb 13, 2019
  22. Randall S. BeckerFeb 13, 2019
  23. Junio C HamanoFeb 13, 2019
  24. Randall S. BeckerFeb 13, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.