On Thu, May 02, 2024 at 09:06:41AM -0700, Junio C Hamano wrote: > Torsten Bögershausen <tboegi@xxxxxx> writes: > > > There are 4 test cases in t4216-log-bloom.sh, that do not pass on one > > Mac here (they pass on another machine) > > Another machine being another mac? Yes, different mac, different MacOs, different $PATH probably. > > > expecting success of 4216.141 'Bloom reader notices too-small data chunk': > > check_corrupt_graph BDAT clear 00000000 && > > echo "warning: ignoring too-small changed-path chunk" \ > > "(4 < 12) in commit-graph file" >expect.err && > > test_cmp expect.err err > > > > ++ check_corrupt_graph BDAT clear 00000000 > > ++ corrupt_graph BDAT clear 00000000 > > ++ graph=.git/objects/info/commit-graph > > ++ test_when_finished 'rm -rf .git/objects/info/commit-graph' > > ++ test 0 = 0 > > ++ test_cleanup='{ rm -rf .git/objects/info/commit-graph > > } && (exit "$eval_ret"); eval_ret=$?; :' > > ++ git commit-graph write --reachable --changed-paths > > ++ corrupt_chunk_file .git/objects/info/commit-graph BDAT clear 00000000 > > ++ fn=.git/objects/info/commit-graph > > ++ shift > > ++ perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000 > > ++ command /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000 > > ++ /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000 > > ++ mv .git/objects/info/commit-graph.tmp .git/objects/info/commit-graph > > override r--r--r-- tb/staff for .git/objects/info/commit-graph? (y/n [n]) not overwritten > > Is this failure preventing the later steps of the test work as > expected, I wonder. Is there something curious with the permission > bits of /Users/tb/NoBackup/projects/git/git.pu/ directory or its t/ > subdirectory? Is there something curious with the "umask" of the > user running the test? Are they different from what you see on your > other mac that does not exhibit the problems? > > Thanks. > > mv is /bin/mv, that seems to be good: $ type mv mv is /bin/mv $ alias | grep mv $ which mv /bin/mv $ umask 0022 I don't know, why we see r--r--r-- tb/staff for .git/objects/info/commit-graph But, the "-r--r--r--" may be part of the problem, here is another one: $ find . -name commit-graph -print0 | xargs -0 ls -l -r--r--r-- 1 tb staff 1792 May 2 12:12 ./trash directory.t5318-commit-graph/bare/objects/info/commit-graph (And some more 6 in total. All with -r--r--r--) Which means, yes, t5318 does not pass either: t5318-commit-graph.sh not ok 101 - reader notices too-small oid fanout chunk t5318-commit-graph.sh not ok 102 - reader notices fanout/lookup table mismatch t5318-commit-graph.sh not ok 103 - reader notices out-of-bounds fanout t5318-commit-graph.sh not ok 104 - reader notices too-small commit data chunk t5318-commit-graph.sh not ok 105 - reader notices out-of-bounds extra edge t5318-commit-graph.sh not ok 106 - reader notices too-small generations chunk Same problem here: ++ mv full/.git/objects/info/commit-graph.tmp full/.git/objects/info/commit-graph override r--r--r-- tb/staff for full/.git/objects/info/commit-graph? (y/n [n]) not overwritten The rest of the test suite passes, I see the same failures even under a fresh cloned repo. Any hints are appreciated.