1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-28 12:59:41 +01:00

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
faececa53f (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:
  7e2619d8ff (list_objects_filter_options: plug leak of filter_spec
  strings, 2022-09-08)

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

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

- t5554-noop-fetch-negotiator.sh:
  66eede4a37 (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:

- 77e56d55ba (diff.c: fix a double-free regression in a18d66cefb,
  2022-03-17)
- c4d1d52631 (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>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-11-08 19:17:37 +01:00 committed by Junio C Hamano
parent cb34852270
commit e5e37517dd
11 changed files with 10 additions and 7 deletions

View file

@ -3,7 +3,7 @@
test_description='git read-tree in partial clones' test_description='git read-tree in partial clones'
TEST_NO_CREATE_REPO=1 TEST_NO_CREATE_REPO=1
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'read-tree in partial clone prefetches in one batch' ' test_expect_success 'read-tree in partial clone prefetches in one batch' '

View file

@ -5,6 +5,7 @@ test_description='checkout can switch to last branch and merge base'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'setup' ' test_expect_success 'setup' '

View file

@ -1638,7 +1638,7 @@ test_expect_success 'no effect on diff from --color-moved with --word-diff' '
test_cmp expect actual test_cmp expect actual
' '
test_expect_success !SANITIZE_LEAK 'no effect on show from --color-moved with --word-diff' ' test_expect_success 'no effect on show from --color-moved with --word-diff' '
git show --color-moved --word-diff >actual && git show --color-moved --word-diff >actual &&
git show --word-diff >expect && git show --word-diff >expect &&
test_cmp expect actual test_cmp expect actual
@ -2024,7 +2024,7 @@ test_expect_success '--color-moved rewinds for MIN_ALNUM_COUNT' '
test_cmp expected actual test_cmp expected actual
' '
test_expect_success !SANITIZE_LEAK 'move detection with submodules' ' test_expect_success 'move detection with submodules' '
test_create_repo bananas && test_create_repo bananas &&
echo ripe >bananas/recipe && echo ripe >bananas/recipe &&
git -C bananas add recipe && git -C bananas add recipe &&

View file

@ -2,6 +2,7 @@
test_description='diff --no-index' test_description='diff --no-index'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'setup' ' test_expect_success 'setup' '

View file

@ -1,6 +1,8 @@
#!/bin/sh #!/bin/sh
test_description='test noop fetch negotiator' test_description='test noop fetch negotiator'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'noop negotiator does not emit any "have"' ' test_expect_success 'noop negotiator does not emit any "have"' '

View file

@ -4,6 +4,7 @@ test_description='merging when a directory was replaced with a symlink'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'create a commit where dir a/b changed to symlink' ' test_expect_success 'create a commit where dir a/b changed to symlink' '

View file

@ -63,7 +63,7 @@ test_expect_success '"mixed" reset is not allowed in bare' '
test_must_fail git reset --mixed HEAD^ test_must_fail git reset --mixed HEAD^
' '
test_expect_success !SANITIZE_LEAK '"soft" reset is allowed in bare' ' test_expect_success '"soft" reset is allowed in bare' '
git reset --soft HEAD^ && git reset --soft HEAD^ &&
git show --pretty=format:%s >out && git show --pretty=format:%s >out &&
echo one >expect && echo one >expect &&

View file

@ -5,6 +5,7 @@ test_description='commit-msg hook'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh . ./test-lib.sh
test_expect_success 'with no hook' ' test_expect_success 'with no hook' '

View file

@ -5,7 +5,6 @@
test_description='git svn dcommit can commit renames of files with ugly names' test_description='git svn dcommit can commit renames of files with ugly names'
TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh . ./lib-git-svn.sh
test_expect_success 'load repository with strange names' ' test_expect_success 'load repository with strange names' '

View file

@ -4,7 +4,6 @@
test_description='git svn creates empty directories' test_description='git svn creates empty directories'
TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh . ./lib-git-svn.sh
test_expect_success 'initialize repo' ' test_expect_success 'initialize repo' '

View file

@ -9,7 +9,6 @@ This test uses git to clone a Subversion repository that contains empty
directories, and checks that corresponding directories are created in the directories, and checks that corresponding directories are created in the
local Git repository with placeholder files.' local Git repository with placeholder files.'
TEST_FAILS_SANITIZE_LEAK=true
. ./lib-git-svn.sh . ./lib-git-svn.sh
GIT_REPO=git-svn-repo GIT_REPO=git-svn-repo