aecb85bdd1
Mark some tests that match "*add*" as passing when git is compiled with SANITIZE=leak. They'll now be listed as running under the "GIT_TEST_PASSING_SANITIZE_LEAK=true" test mode (the "linux-leaks" CI target). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
56 lines
1.0 KiB
Bash
Executable File
56 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='git add --all'
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
(
|
|
echo .gitignore &&
|
|
echo will-remove
|
|
) >expect &&
|
|
(
|
|
echo actual &&
|
|
echo expect &&
|
|
echo ignored
|
|
) >.gitignore &&
|
|
git --literal-pathspecs add --all &&
|
|
>will-remove &&
|
|
git add --all &&
|
|
test_tick &&
|
|
git commit -m initial &&
|
|
git ls-files >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_expect_success 'git add --all' '
|
|
(
|
|
echo .gitignore &&
|
|
echo not-ignored &&
|
|
echo "M .gitignore" &&
|
|
echo "A not-ignored" &&
|
|
echo "D will-remove"
|
|
) >expect &&
|
|
>ignored &&
|
|
>not-ignored &&
|
|
echo modification >>.gitignore &&
|
|
rm -f will-remove &&
|
|
git add --all &&
|
|
git update-index --refresh &&
|
|
git ls-files >actual &&
|
|
git diff-index --name-status --cached HEAD >>actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_expect_success 'Just "git add" is a no-op' '
|
|
git reset --hard &&
|
|
echo >will-remove &&
|
|
>will-not-be-added &&
|
|
git add &&
|
|
git diff-index --name-status --cached HEAD >actual &&
|
|
test_must_be_empty actual
|
|
'
|
|
|
|
test_done
|