mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
![Taylor Blau](/assets/img/avatar_default.png)
In the topic merged via5a4f8381b6
(Merge branch 'ab/mark-leak-free-tests', 2021-10-25), a handful of tests in the suite were marked as leak-free. Since then, a handful of tests have become leak-free due to changes like -861c56f6f9
(branch: fix a leak in setup_tracking, 2023-06-11), and -866b43e644
(do_read_index(): always mark index as initialized unless erroring out, 2023-06-29) , but weren't updated at the time to mark themselves as such. This leads to test "failures" when running: $ make SANITIZE=leak $ make -C t \ GIT_TEST_PASSING_SANITIZE_LEAK=check \ GIT_TEST_SANITIZE_LEAK_LOG=true \ GIT_TEST_OPTS=-vi test This patch closes those gaps by exporting TEST_PASSES_SANITIZE_LEAK=true before sourcing t/test-lib.sh on most remaining leak-free tests. There are a couple of other tests which are similarly leak-free, but not included in the list of tests touched by this patch. The remaining tests will be addressed in the subsequent two patches. Helped-by: Jeff King <peff@peff.net> Signed-off-by: Taylor Blau <me@ttaylorr.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
34 lines
903 B
Bash
Executable file
34 lines
903 B
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='git commit races'
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'race to create orphan commit' '
|
|
write_script hare-editor <<-\EOF &&
|
|
git commit --allow-empty -m hare
|
|
EOF
|
|
test_must_fail env EDITOR=./hare-editor git commit --allow-empty -m tortoise -e &&
|
|
git show -s --pretty=format:%s >subject &&
|
|
grep hare subject &&
|
|
git show -s --pretty=format:%P >out &&
|
|
test_must_be_empty out
|
|
'
|
|
|
|
test_expect_success 'race to create non-orphan commit' '
|
|
write_script airplane-editor <<-\EOF &&
|
|
git commit --allow-empty -m airplane
|
|
EOF
|
|
git checkout --orphan branch &&
|
|
git commit --allow-empty -m base &&
|
|
git rev-parse HEAD >base &&
|
|
test_must_fail env EDITOR=./airplane-editor git commit --allow-empty -m ship -e &&
|
|
git show -s --pretty=format:%s >subject &&
|
|
grep airplane subject &&
|
|
git rev-parse HEAD^ >parent &&
|
|
test_cmp base parent
|
|
'
|
|
|
|
test_done
|