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

Re: [PATCH v2 3/4] commit-graph.c: write non-split graphs as read-only

From
Jeff King <peff@peff.net>
Date
Apr 28, 2020, 03:34 UTC
Message-ID
<20200428033438.GA2369457@coredump.intra.peff.net>
In-Reply-To
<20200427235935.GA14984@syl.local>
On Mon, Apr 27, 2020 at 05:59:35PM -0600, Taylor Blau wrote:
Show 19 quoted lines
> > diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
> > index fb0aae61c3..901eb3ecfb 100755
> > --- a/t/t5318-commit-graph.sh
> > +++ b/t/t5318-commit-graph.sh
> > @@ -12,6 +12,10 @@ test_expect_success 'setup full repo' '
> >  	test_oid_init
> >  '
> >
> > +test_expect_success POSIXPERM 'tweak umask for modebit tests' '
> > +	umask 022
> > +'
> > +
> >  test_expect_success 'verify graph with no graph file' '
> >  	cd "$TRASH_DIRECTORY/full" &&
> >  	git commit-graph verify
> 
> Looks good to me; this is definitely necessary. For what it's worth, it
> passes for me, but my system may not have as restrictive a umask as
> others.

If we're just doing this for a single test, perhaps it would be better to set the umask in that test (perhaps even in a subshell to avoid touching other tests). I guess that's a little awkward here because the write and the mode-check happen in separate snippets.

Or going in the opposite direction: if we think that covering the rest of the test suite with a diversity of umasks isn't worthwhile, we could just set "umask" in test-lib.sh. That would solve this problem and any future ones.

I also wondered if it would be simpler to just limit the scope of the test, like so:

diff --git b/t/t5318-commit-graph.sh a/t/t5318-commit-graph.sh
index fb0aae61c3..5f1c746ad1 100755
--- b/t/t5318-commit-graph.sh
+++ a/t/t5318-commit-graph.sh
@@ -98,9 +98,10 @@ test_expect_success 'write graph' '
 
 test_expect_success POSIXPERM 'write graph has correct permissions' '
 	test_path_is_file $objdir/info/commit-graph &&
-	echo "-r--r--r--" >expect &&
 	test_modebits $objdir/info/commit-graph >actual &&
-	test_cmp expect actual
+	# check only user mode bits, as we do not want to rely on
+	# test environment umask
+	grep ^-r-- actual
 '
 
 graph_git_behavior 'graph exists' full commits/3 commits/1

but maybe there's some value in checking the whole thing.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 18 of 36 in “commit-graph: write non-split graphs as read-only”
  1. 0/3 commit-graph: write non-split graphs as read-onlyTaylor Blau, Apr 20, 2020
  2. 1/3 tempfile.c: introduce 'create_tempfile_mode'Taylor Blau, Apr 20, 2020
  3. Junio C HamanoApr 20, 2020
  4. 2/3 lockfile.c: introduce 'hold_lock_file_for_update_mode'Taylor Blau, Apr 20, 2020
  5. 3/3 commit-graph.c: write non-split graphs as read-onlyTaylor Blau, Apr 20, 2020
  6. Junio C HamanoApr 20, 2020
  7. Taylor BlauApr 20, 2020
  8. Junio C HamanoApr 21, 2020
  9. Jeff KingApr 21, 2020
  10. Junio C HamanoApr 21, 2020
  11. 0/4 commit-graph: write non-split graphs as read-onlyTaylor Blau, Apr 27, 2020
  12. 1/4 tempfile.c: introduce 'create_tempfile_mode'Taylor Blau, Apr 27, 2020
  13. 2/4 lockfile.c: introduce 'hold_lock_file_for_update_mode'Taylor Blau, Apr 27, 2020
  14. 3/4 commit-graph.c: write non-split graphs as read-onlyTaylor Blau, Apr 27, 2020
  15. Junio C HamanoApr 27, 2020
  16. Taylor BlauApr 27, 2020
  17. Junio C HamanoApr 28, 2020
  18. Jeff KingApr 28, 2020
  19. Junio C HamanoApr 28, 2020
  20. Jeff KingApr 28, 2020
  21. Junio C HamanoApr 28, 2020
  22. Jeff KingApr 28, 2020
  23. Taylor BlauApr 28, 2020
  24. Jeff KingApr 28, 2020
  25. Junio C HamanoApr 28, 2020
  26. Derrick StoleeApr 29, 2020
  27. 4/4 commit-graph.c: ensure graph layers respect core.sharedRepositoryTaylor Blau, Apr 27, 2020
  28. Taylor BlauApr 27, 2020
  29. Jeff KingApr 27, 2020
  30. 0/5 commit-graph: write non-split graphs as read-onlyTaylor Blau, Apr 29, 2020
  31. 1/5 tempfile.c: introduce 'create_tempfile_mode'Taylor Blau, Apr 29, 2020
  32. 2/5 lockfile.c: introduce 'hold_lock_file_for_update_mode'Taylor Blau, Apr 29, 2020
  33. 3/5 commit-graph.c: write non-split graphs as read-onlyTaylor Blau, Apr 29, 2020
  34. 4/5 commit-graph.c: ensure graph layers respect core.sharedRepositoryTaylor Blau, Apr 29, 2020
  35. 5/5 commit-graph.c: make 'commit-graph-chain's read-onlyTaylor Blau, Apr 29, 2020
  36. Jeff KingMay 1, 2020

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.