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

Re: [PATCH] fsck: exit with non-zero status upon error from fsck_obj()

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 9, 2014, 22:21 UTC
Message-ID
<xmqqvbowigeh.fsf@gitster.dls.corp.google.com>
In-Reply-To
<xmqq4mwgjvt6.fsf_-_@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 7 quoted lines
> From: Jeff King <peff@peff.net>
> Date: Fri, 29 Aug 2014 16:31:46 -0400
>
> Upon finding a corrupt loose object, we forgot to note the error to
> signal it with the exit status of the entire process.
>
> [jc: adjusted t1450 and added another test]

Spoke too soon. If found another instance where we expected fsck to notice a corruption. We'd need to squash this in.

By the way, Jonathan, with dbedf8bf (t1450 (fsck): remove dangling objects, 2010-09-06) you added a 'test_might_fail git fsck' to the 1450 test that catches an object corruption. Do you remember if there was some flakiness in this test that necessitated it, or is it merely "I think this should fail, but it does not, and we may fix it some day but I am not doing that in this patch?" Assuming that it is the latter, I am including an update to 1450 as well.

There is another test_might_fail that runs "git rev-list" in the same test, but that is not part of the said patch and unrelated to the current topic, so I didn't dig further; we may want to audit the hits from "git grep test_might_fail t/" as a separate topic (hint, hint).

 t/t1450-fsck.sh        | 2 +-
 t/t4212-log-corrupt.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index c8dff9c..0de755c 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -69,7 +69,7 @@ test_expect_success 'object with bad sha1' '
 	git update-ref refs/heads/bogus $cmt &&
 	test_when_finished "git update-ref -d refs/heads/bogus" &&
 
-	test_might_fail git fsck 2>out &&
+	test_must_fail git fsck 2>out &&
 	cat out &&
 	grep "$sha.*corrupt" out
 '
diff --git a/t/t4212-log-corrupt.sh b/t/t4212-log-corrupt.sh
index 58b792b..67bd8ec 100755
--- a/t/t4212-log-corrupt.sh
+++ b/t/t4212-log-corrupt.sh
@@ -14,7 +14,7 @@ test_expect_success 'setup' '
 '
 
 test_expect_success 'fsck notices broken commit' '
-	git fsck 2>actual &&
+	test_must_fail git fsck 2>actual &&
 	test_i18ngrep invalid.author actual
 '
 
Previous: Michael HaggertyNext: Jonathan Nieder
Message 16 of 21 in “git fsck exit code?”
  1. David TurnerAug 27, 2014
  2. Jeff KingAug 29, 2014
  3. Junio C HamanoAug 29, 2014
  4. David TurnerAug 29, 2014
  5. Jeff KingAug 29, 2014
  6. Junio C HamanoAug 29, 2014
  7. fsck: exit with non-zero status upon error from fsck_obj()Junio C Hamano, Sep 9, 2014
  8. Jeff KingSep 9, 2014
  9. fsck: return non-zero status on missing ref tipsJeff King, Sep 12, 2014
  10. Jeff KingSep 12, 2014
  11. Jeff KingSep 12, 2014
  12. Junio C HamanoSep 12, 2014
  13. Jeff KingSep 12, 2014
  14. Michael HaggertySep 15, 2014
  15. Michael HaggertySep 15, 2014
  16. Junio C HamanoSep 9, 2014
  17. Jonathan NiederSep 9, 2014
  18. Øyvind A. HolmAug 31, 2014
  19. Øyvind A. HolmSep 1, 2014
  20. David TurnerSep 1, 2014
  21. Jeff KingSep 9, 2014

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.