t7063: add tests for core.untrackedCache
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
dae6c322fa
commit
7c121788f4
@ -18,6 +18,10 @@ if ! test_have_prereq UNTRACKED_CACHE; then
|
||||
test_done
|
||||
fi
|
||||
|
||||
test_expect_success 'core.untrackedCache is unset' '
|
||||
test_must_fail git config --get core.untrackedCache
|
||||
'
|
||||
|
||||
test_expect_success 'setup' '
|
||||
git init worktree &&
|
||||
cd worktree &&
|
||||
@ -30,13 +34,13 @@ test_expect_success 'setup' '
|
||||
|
||||
test_expect_success 'untracked cache is empty' '
|
||||
test-dump-untracked-cache >../actual &&
|
||||
cat >../expect <<EOF &&
|
||||
cat >../expect-empty <<EOF &&
|
||||
info/exclude 0000000000000000000000000000000000000000
|
||||
core.excludesfile 0000000000000000000000000000000000000000
|
||||
exclude_per_dir .gitignore
|
||||
flags 00000006
|
||||
EOF
|
||||
test_cmp ../expect ../actual
|
||||
test_cmp ../expect-empty ../actual
|
||||
'
|
||||
|
||||
cat >../status.expect <<EOF &&
|
||||
@ -506,7 +510,7 @@ EOF
|
||||
|
||||
test_expect_success 'verify untracked cache dump (sparse/subdirs)' '
|
||||
test-dump-untracked-cache >../actual &&
|
||||
cat >../expect <<EOF &&
|
||||
cat >../expect-from-test-dump <<EOF &&
|
||||
info/exclude 13263c0978fb9fad16b2d580fb800b6d811c3ff0
|
||||
core.excludesfile 0000000000000000000000000000000000000000
|
||||
exclude_per_dir .gitignore
|
||||
@ -525,7 +529,7 @@ file
|
||||
/dtwo/ 0000000000000000000000000000000000000000 recurse check_only valid
|
||||
two
|
||||
EOF
|
||||
test_cmp ../expect ../actual
|
||||
test_cmp ../expect-from-test-dump ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'test sparse status again with untracked cache and subdir' '
|
||||
@ -569,4 +573,77 @@ EOF
|
||||
test_cmp ../status.expect ../status.actual
|
||||
'
|
||||
|
||||
test_expect_success '--no-untracked-cache removes the cache' '
|
||||
git update-index --no-untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
echo "no untracked cache" >../expect-no-uc &&
|
||||
test_cmp ../expect-no-uc ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'git status does not change anything' '
|
||||
git status &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-no-uc ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'setting core.untrackedCache to true and using git status creates the cache' '
|
||||
git config core.untrackedCache true &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-no-uc ../actual &&
|
||||
git status &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-from-test-dump ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'using --no-untracked-cache does not fail when core.untrackedCache is true' '
|
||||
git update-index --no-untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-no-uc ../actual &&
|
||||
git update-index --untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-empty ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'setting core.untrackedCache to false and using git status removes the cache' '
|
||||
git config core.untrackedCache false &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-empty ../actual &&
|
||||
git status &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-no-uc ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'using --untracked-cache does not fail when core.untrackedCache is false' '
|
||||
git update-index --untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-empty ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'setting core.untrackedCache to keep' '
|
||||
git config core.untrackedCache keep &&
|
||||
git update-index --untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-empty ../actual &&
|
||||
git status &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-from-test-dump ../actual &&
|
||||
git update-index --no-untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-no-uc ../actual &&
|
||||
git update-index --force-untracked-cache &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-empty ../actual &&
|
||||
git status &&
|
||||
test-dump-untracked-cache >../actual &&
|
||||
test_cmp ../expect-from-test-dump ../actual
|
||||
'
|
||||
|
||||
test_expect_success 'test ident field is working' '
|
||||
mkdir ../other_worktree &&
|
||||
cp -R done dthree dtwo four three ../other_worktree &&
|
||||
GIT_WORK_TREE=../other_worktree git status 2>../err &&
|
||||
echo "warning: Untracked cache is disabled on this system or location." >../expect &&
|
||||
test_cmp ../expect ../err
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user