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

RE: [Breakage] Git v2.21.0-rc0 - t5318 (NonStop)

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Feb 8, 2019, 18:47 UTC
Message-ID
<002501d4bfde$b26e6050$174b20f0$@nexbridge.com>
In-Reply-To
<20190208180321.GB27673@sigill.intra.peff.net>
On February 8, 2019 13:03, Jeff King wrote:
Show 36 quoted lines
> To: Randall S. Becker <rsbecker@nexbridge.com>
> Cc: 'Junio C Hamano' <gitster@pobox.com>; git@vger.kernel.org; 'Linux
> Kernel' <linux-kernel@vger.kernel.org>; git-packagers@googlegroups.com
> Subject: Re: [Breakage] Git v2.21.0-rc0 - t5318 (NonStop)
> 
> On Fri, Feb 08, 2019 at 12:49:59PM -0500, Randall S. Becker wrote:
> 
> > > We did discuss this at the time of the patch, but it seems we
> > > already use /dev/zero in a bunch of places:
> > >
> > >
> > > https://public-inbox.org/git/xmqqbm57rkg5.fsf@gitster-ct.c.googlers.
> > > com/
> > >
> > > Were you just skipping the other tests before?
> >
> > I did not catch the implications of the review at the time - my bad. We
> were not intentionally skipping the tests. It looks like some are automatically
> skipped. t4153 automatically skips (missing TTY), and t5562 fails also but for
> a different reason (hang - we don't have apache2 to serve up http content).
> >
> > Would you object to something like this:
> >
> > if [ ! -e /dev/zero ]; then
> > 	# use shred or some other mechanism (still trying to figure out a
> > solution) else
> > 	# existing dd
> > fi
> 
> That's fine, as long as it's wrapped up in a function in order to keep the tests
> readable.
> 
> Though I suspect we may be able to just find a solution that works
> everywhere, without having two different implementations. If we know we
> need $count bytes for dd, we could probably just generate a file with that
> many NULs in it.
For this, we could use truncate -s count file instead of dd to get a fixed size file of nulls. This would remove the need for /dev/zero in t5318 (the patch below probably will wrap badly in my mailer so I can submit a real patch separately.
@@ -383,7 +383,7 @@ corrupt_graph_and_verify() {
        cp $objdir/info/commit-graph commit-graph-backup &&
        printf "$data" | dd of="$objdir/info/commit-graph" bs=1 seek="$pos" conv=notrunc &&
        dd of="$objdir/info/commit-graph" bs=1 seek="$zero_pos" count=0 &&
-       dd if=/dev/zero of="$objdir/info/commit-graph" bs=1 seek="$zero_pos" count=$(($orig_size - $zero_pos)) &&
+       truncate -s $orig_size "$objdir/info/commit-graph" &&
        test_must_fail git commit-graph verify 2>test_err &&
        grep -v "^+" test_err >err &&
        test_i18ngrep "$grepstr" err

This passes on my platform.

> Other cases don't seem to actually care that they're getting NULs, and are
> just redirecting stdin from /dev/zero to get an infinite amount of input. They
> could probably use "yes" for that.

What about reading from /dev/null?

Regards,
Randall
Previous: Junio C HamanoNext: Jeff King
Message 7 of 25 in “[Breakage] Git v2.21.0-rc0 - t5318 (NonStop)”
  1. Randall S. BeckerFeb 8, 2019
  2. Jeff KingFeb 8, 2019
  3. Randall S. BeckerFeb 8, 2019
  4. Jeff KingFeb 8, 2019
  5. Johannes SixtFeb 8, 2019
  6. Junio C HamanoFeb 8, 2019
  7. Randall S. BeckerFeb 8, 2019
  8. Jeff KingFeb 8, 2019
  9. Randall S. BeckerFeb 8, 2019
  10. Jeff KingFeb 8, 2019
  11. Randall S. BeckerFeb 8, 2019
  12. Jeff KingFeb 8, 2019
  13. Randall S. BeckerFeb 8, 2019
  14. brian m. carlsonFeb 8, 2019
  15. Randall S. BeckerFeb 8, 2019
  16. brian m. carlsonFeb 8, 2019
  17. Randall S. BeckerFeb 8, 2019
  18. Jeff KingFeb 8, 2019
  19. Randall S. BeckerFeb 8, 2019
  20. Jeff KingFeb 9, 2019
  21. Johannes SixtFeb 9, 2019
  22. Randall S. BeckerFeb 9, 2019
  23. Jeff KingFeb 9, 2019
  24. Johannes SixtFeb 10, 2019
  25. Randall S. BeckerFeb 9, 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.