aboutsummaryrefslogtreecommitdiff
path: root/t/t2021-checkout-overwrite.sh
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2013-06-07 22:53:28 +0200
committerJunio C Hamano <gitster@pobox.com>2013-06-07 15:01:45 -0700
commit889c6f0e4d637223e0517d000eedad39b173d8a2 (patch)
treed21550794a99df816ecc0a580d14545ee5c12acf /t/t2021-checkout-overwrite.sh
parent9ce415d972a04df4bfceaad0fab8eaea9a66997e (diff)
downloadgit-889c6f0e4d637223e0517d000eedad39b173d8a2.tar.gz
git-889c6f0e4d637223e0517d000eedad39b173d8a2.tar.xz
tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
There are many instances where the treatment of symbolic links in the object model and the algorithms are tested, but where it is not necessary to actually have a symbolic link in the worktree. Make adjustments to the tests and remove the SYMLINKS prerequisite when appropriate in trivial cases, where "trivial" means: - merely a replacement of 'ln -s a b && git add b' by test_ln_s_add is needed; - a test for symbolic link on the file system can be split off (and remains protected by SYMLINKS); - existing code is equivalent to test_ln_s_add. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2021-checkout-overwrite.sh')
-rwxr-xr-xt/t2021-checkout-overwrite.sh12
1 files changed, 8 insertions, 4 deletions
diff --git a/t/t2021-checkout-overwrite.sh b/t/t2021-checkout-overwrite.sh
index 5da63e9fa..c2ada7de3 100755
--- a/t/t2021-checkout-overwrite.sh
+++ b/t/t2021-checkout-overwrite.sh
@@ -29,21 +29,25 @@ test_expect_success 'checkout commit with dir must not remove untracked a/b' '
test -f a/b
'
-test_expect_success SYMLINKS 'create a commit where dir a/b changed to symlink' '
+test_expect_success 'create a commit where dir a/b changed to symlink' '
rm -rf a/b && # cleanup if previous test failed
git checkout -f -b symlink start &&
rm -rf a/b &&
- ln -s foo a/b &&
git add -A &&
+ test_ln_s_add foo a/b &&
git commit -m "dir to symlink"
'
-test_expect_success SYMLINKS 'checkout commit with dir must not remove untracked a/b' '
+test_expect_success 'checkout commit with dir must not remove untracked a/b' '
git rm --cached a/b &&
git commit -m "un-track the symlink" &&
- test_must_fail git checkout start &&
+ test_must_fail git checkout start
+'
+
+test_expect_success SYMLINKS 'the symlink remained' '
+
test -h a/b
'