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

Re: [Patch v1 2/3] t5318: replace use of /dev/zero with generate_zero_bytes

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 13, 2019, 17:25 UTC
Message-ID
<xmqqh8d7d2ij.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<xmqqh8d9diy8.fsf@gitster-ct.c.googlers.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes:
>
>> On Sat, Feb 9, 2019 at 2:00 PM <randall.s.becker@rogers.com> wrote:
>>> This change removes the dependency on /dev/zero with generate_zero_bytes
>>> appending NUL values to blocks generating wrong signatures for test cases.
>>
>> This commit message says what the patch does but not _why_. At
>> minimum, it should explain that /dev/zero is not available on all
>> platforms, therefore, not portable, and (perhaps) cite NonStop as an
>> example.
>
> Does sombody want to do the honors?  [PATCH 1/3] would become wasted
> effort until that happens.  On the other hand, if this is not urgent
> (it is only urgent for those without /dev/zero, and to others it may
> be distraction/disruption this close to the final release to add
> increased risk of fat finger mistakes), obviously I can wait.

So, before I lose the access to my primary screen (I was told that somehow I need to reimage the workstation today X-<), here is what I have now.

-- >8 --
From: "Randall S. Becker" <rsbecker@nexbridge.com>
Date: Sat, 9 Feb 2019 13:59:29 -0500
Subject: [PATCH] t5318: replace use of /dev/zero with generate_zero_bytes

There are platforms (e.g. NonStop) that lack /dev/zero; use the generate_zero_bytes helper we just introduced to append stream of NULs at the end of the file.

The original, even though it uses "dd seek=... count=..." to make it look like it is overwriting the middle part of an existing file, has truncated the file before this step with another use of "dd", which may make it tricky to see why this rewrite is a correct one.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 t/t5318-commit-graph.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
index 16d10ebce8..d4bd1522fe 100755
--- a/t/t5318-commit-graph.sh
+++ b/t/t5318-commit-graph.sh
@@ -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)) &&
+	generate_zero_bytes $(($orig_size - $zero_pos)) >>"$objdir/info/commit-graph" &&
 	test_must_fail git commit-graph verify 2>test_err &&
 	grep -v "^+" test_err >err &&
 	test_i18ngrep "$grepstr" err
-- 
2.21.0-rc0-36-ge9bd4aa026
Previous: Junio C HamanoNext: Randall S. Becker
Message 21 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.