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>

Ævar Arnfjörð Bjarmason committed Nov 8, 2022 at 19:17 UTC e5e37517dd961b70250107f565539950fea94e76
11 files changed +10 -7
t/t1022-read-tree-partial-clone.sh
+1 -1
@@ -3,7 +3,7 @@
3 test_description='git read-tree in partial clones'
4
5 TEST_NO_CREATE_REPO=1
6 -
6 +TEST_PASSES_SANITIZE_LEAK=true
7 . ./test-lib.sh
8
9 test_expect_success 'read-tree in partial clone prefetches in one batch' '
t/t2012-checkout-last.sh
+1
@@ -5,6 +5,7 @@ test_description='checkout can switch to last branch and merge base'
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' '
t/t4015-diff-whitespace.sh
+2 -2
@@ -1638,7 +1638,7 @@ test_expect_success 'no effect on diff from --color-moved with --word-diff' '
1638 test_cmp expect actual
1639 '
1640
1641 -test_expect_success !SANITIZE_LEAK 'no effect on show from --color-moved with --word-diff' '
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,7 +2024,7 @@ test_expect_success '--color-moved rewinds for MIN_ALNUM_COUNT' '
2024 test_cmp expected actual
2025 '
2026
2027 -test_expect_success !SANITIZE_LEAK 'move detection with submodules' '
2027 +test_expect_success 'move detection with submodules' '
2028 test_create_repo bananas &&
2029 echo ripe >bananas/recipe &&
2030 git -C bananas add recipe &&
t/t4053-diff-no-index.sh
+1
@@ -2,6 +2,7 @@
2
3 test_description='diff --no-index'
4
5 +TEST_PASSES_SANITIZE_LEAK=true
6 . ./test-lib.sh
7
8 test_expect_success 'setup' '
t/t5554-noop-fetch-negotiator.sh
+2
@@ -1,6 +1,8 @@
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"' '
t/t6415-merge-dir-to-symlink.sh
+1
@@ -4,6 +4,7 @@ test_description='merging when a directory was replaced with a 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' '
t/t7103-reset-bare.sh
+1 -1
@@ -63,7 +63,7 @@ test_expect_success '"mixed" reset is not allowed in bare' '
63 test_must_fail git reset --mixed HEAD^
64 '
65
66 -test_expect_success !SANITIZE_LEAK '"soft" reset is allowed in bare' '
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 &&
t/t7504-commit-msg-hook.sh
+1
@@ -5,6 +5,7 @@ test_description='commit-msg 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' '
t/t9115-git-svn-dcommit-funky-renames.sh
-1
@@ -5,7 +5,6 @@
5
6 test_description='git svn dcommit can commit renames of files with ugly names'
7
8 -TEST_FAILS_SANITIZE_LEAK=true
8 . ./lib-git-svn.sh
9
10 test_expect_success 'load repository with strange names' '
t/t9146-git-svn-empty-dirs.sh
-1
@@ -4,7 +4,6 @@
4
5 test_description='git svn creates empty directories'
6
7 -TEST_FAILS_SANITIZE_LEAK=true
7 . ./lib-git-svn.sh
8
9 test_expect_success 'initialize repo' '
t/t9160-git-svn-preserve-empty-dirs.sh
-1
@@ -9,7 +9,6 @@ This test uses git to clone a Subversion repository that contains empty
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
12 . ./lib-git-svn.sh
13
14 GIT_REPO=git-svn-repo