Git fork

tests: mark tests as passing with SANITIZE=leak

This marks tests that have been leak-free since various recent
commits, but which were not marked us such when the memory leak was
fixed. These were mostly discovered with the "check" mode added in
faececa53f9 (test-lib: have the "check" mode for SANITIZE=leak
consider leak logs, 2022-07-28).

Commits that fixed the last memory leak in these tests. Per narrowing
down when they started to pass under SANITIZE=leak with "bisect":

- t1022-read-tree-partial-clone.sh:
7e2619d8ff0 (list_objects_filter_options: plug leak of filter_spec
strings, 2022-09-08)

- t4053-diff-no-index.sh: 07a6f94a6d0 (diff-no-index: release prefixed
filenames, 2022-09-07)

- t6415-merge-dir-to-symlink.sh: bac92b1f39f (Merge branch
'js/ort-clean-up-after-failed-merge', 2022-08-08).

- t5554-noop-fetch-negotiator.sh:
66eede4a37c (prepare_repo_settings(): plug leak of config values,
2022-09-08)

- t2012-checkout-last.sh, t7504-commit-msg-hook.sh,
t91{15,46,60}-git-svn-*.sh: The in-flight "pw/rebase-no-reflog-action"
series, upon which this is based:
https://lore.kernel.org/git/pull.1405.git.1667575142.gitgitgadget@gmail.com/

Let's mark all of these as passing with
"TEST_PASSES_SANITIZE_LEAK=true", to have it regression tested,
including as part of the "linux-leaks" CI job.

Additionally, let's remove the "!SANITIZE_LEAK" prerequisite from
tests that now pass, these were marked as failing in:

- 77e56d55ba6 (diff.c: fix a double-free regression in a18d66cefb,
2022-03-17)
- c4d1d526312 (tests: change some 'test $(git) = "x"' to test_cmp,
2022-03-07)

These were not spotted with the new "check" mode, but manually, it
doesn't cover these sort of prerequisites. There's few enough that we
shouldn't bother to automate it. They'll be going away sooner than
later.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>

authored by

Ævar Arnfjörð Bjarmason and committed by
Junio C Hamano
e5e37517 cb348522

+10 -7
+1 -1
t/t1022-read-tree-partial-clone.sh
··· 3 test_description='git read-tree in partial clones' 4 5 TEST_NO_CREATE_REPO=1 6 - 7 . ./test-lib.sh 8 9 test_expect_success 'read-tree in partial clone prefetches in one batch' '
··· 3 test_description='git read-tree in partial clones' 4 5 TEST_NO_CREATE_REPO=1 6 + TEST_PASSES_SANITIZE_LEAK=true 7 . ./test-lib.sh 8 9 test_expect_success 'read-tree in partial clone prefetches in one batch' '
+1
t/t2012-checkout-last.sh
··· 5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 8 . ./test-lib.sh 9 10 test_expect_success 'setup' '
··· 5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 8 + TEST_PASSES_SANITIZE_LEAK=true 9 . ./test-lib.sh 10 11 test_expect_success 'setup' '
+2 -2
t/t4015-diff-whitespace.sh
··· 1638 test_cmp expect actual 1639 ' 1640 1641 - test_expect_success !SANITIZE_LEAK 'no effect on show from --color-moved with --word-diff' ' 1642 git show --color-moved --word-diff >actual && 1643 git show --word-diff >expect && 1644 test_cmp expect actual ··· 2024 test_cmp expected actual 2025 ' 2026 2027 - test_expect_success !SANITIZE_LEAK 'move detection with submodules' ' 2028 test_create_repo bananas && 2029 echo ripe >bananas/recipe && 2030 git -C bananas add recipe &&
··· 1638 test_cmp expect actual 1639 ' 1640 1641 + test_expect_success 'no effect on show from --color-moved with --word-diff' ' 1642 git show --color-moved --word-diff >actual && 1643 git show --word-diff >expect && 1644 test_cmp expect actual ··· 2024 test_cmp expected actual 2025 ' 2026 2027 + test_expect_success 'move detection with submodules' ' 2028 test_create_repo bananas && 2029 echo ripe >bananas/recipe && 2030 git -C bananas add recipe &&
+1
t/t4053-diff-no-index.sh
··· 2 3 test_description='diff --no-index' 4 5 . ./test-lib.sh 6 7 test_expect_success 'setup' '
··· 2 3 test_description='diff --no-index' 4 5 + TEST_PASSES_SANITIZE_LEAK=true 6 . ./test-lib.sh 7 8 test_expect_success 'setup' '
+2
t/t5554-noop-fetch-negotiator.sh
··· 1 #!/bin/sh 2 3 test_description='test noop fetch negotiator' 4 . ./test-lib.sh 5 6 test_expect_success 'noop negotiator does not emit any "have"' '
··· 1 #!/bin/sh 2 3 test_description='test noop fetch negotiator' 4 + 5 + TEST_PASSES_SANITIZE_LEAK=true 6 . ./test-lib.sh 7 8 test_expect_success 'noop negotiator does not emit any "have"' '
+1
t/t6415-merge-dir-to-symlink.sh
··· 4 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 5 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 6 7 . ./test-lib.sh 8 9 test_expect_success 'create a commit where dir a/b changed to symlink' '
··· 4 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 5 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 6 7 + TEST_PASSES_SANITIZE_LEAK=true 8 . ./test-lib.sh 9 10 test_expect_success 'create a commit where dir a/b changed to symlink' '
+1 -1
t/t7103-reset-bare.sh
··· 63 test_must_fail git reset --mixed HEAD^ 64 ' 65 66 - test_expect_success !SANITIZE_LEAK '"soft" reset is allowed in bare' ' 67 git reset --soft HEAD^ && 68 git show --pretty=format:%s >out && 69 echo one >expect &&
··· 63 test_must_fail git reset --mixed HEAD^ 64 ' 65 66 + test_expect_success '"soft" reset is allowed in bare' ' 67 git reset --soft HEAD^ && 68 git show --pretty=format:%s >out && 69 echo one >expect &&
+1
t/t7504-commit-msg-hook.sh
··· 5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 8 . ./test-lib.sh 9 10 test_expect_success 'with no hook' '
··· 5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 8 + TEST_PASSES_SANITIZE_LEAK=true 9 . ./test-lib.sh 10 11 test_expect_success 'with no hook' '
-1
t/t9115-git-svn-dcommit-funky-renames.sh
··· 5 6 test_description='git svn dcommit can commit renames of files with ugly names' 7 8 - TEST_FAILS_SANITIZE_LEAK=true 9 . ./lib-git-svn.sh 10 11 test_expect_success 'load repository with strange names' '
··· 5 6 test_description='git svn dcommit can commit renames of files with ugly names' 7 8 . ./lib-git-svn.sh 9 10 test_expect_success 'load repository with strange names' '
-1
t/t9146-git-svn-empty-dirs.sh
··· 4 5 test_description='git svn creates empty directories' 6 7 - TEST_FAILS_SANITIZE_LEAK=true 8 . ./lib-git-svn.sh 9 10 test_expect_success 'initialize repo' '
··· 4 5 test_description='git svn creates empty directories' 6 7 . ./lib-git-svn.sh 8 9 test_expect_success 'initialize repo' '
-1
t/t9160-git-svn-preserve-empty-dirs.sh
··· 9 directories, and checks that corresponding directories are created in the 10 local Git repository with placeholder files.' 11 12 - TEST_FAILS_SANITIZE_LEAK=true 13 . ./lib-git-svn.sh 14 15 GIT_REPO=git-svn-repo
··· 9 directories, and checks that corresponding directories are created in the 10 local Git repository with placeholder files.' 11 12 . ./lib-git-svn.sh 13 14 GIT_REPO=git-svn-repo