git/t/t5524-pull-msg.sh
Ævar Arnfjörð Bjarmason ece3974ba6 pull: fix a "struct oid_array" memory leak
Fix a memory leak introduced in 44c175c7a4 (pull: error on no merge
candidates, 2015-06-18). As a result we can mark several tests as
passing with SANITIZE=leak using "TEST_PASSES_SANITIZE_LEAK=true".

Removing the "int ret = 0" assignment added here in a6d7eb2c7a (pull:
optionally rebase submodules (remote submodule changes only),
2017-06-23) is not a logic error, it could always have been left
uninitialized (as "int ret"), now that we'll use the "ret" from the
upper scope we can drop the assignment in the "opt_rebase" branch.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-07-01 11:43:43 -07:00

53 lines
1,000 B
Bash
Executable file

#!/bin/sh
test_description='git pull message generation'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
dollar='$Dollar'
test_expect_success setup '
test_commit initial afile original &&
git clone . cloned &&
(
cd cloned &&
echo added >bfile &&
git add bfile &&
test_tick &&
git commit -m "add bfile"
) &&
test_tick && test_tick &&
echo "second" >afile &&
git add afile &&
git commit -m "second commit" &&
echo "original $dollar" >afile &&
git add afile &&
git commit -m "do not clobber $dollar signs"
'
test_expect_success pull '
(
cd cloned &&
git pull --no-rebase --log &&
git log -2 &&
git cat-file commit HEAD >result &&
grep Dollar result
)
'
test_expect_success '--log=1 limits shortlog length' '
(
cd cloned &&
git reset --hard HEAD^ &&
test "$(cat afile)" = original &&
test "$(cat bfile)" = added &&
git pull --no-rebase --log=1 &&
git log -3 &&
git cat-file commit HEAD >result &&
grep Dollar result &&
! grep "second commit" result
)
'
test_done