diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:47:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:47:53 +0000 |
commit | c8bae7493d2f2910b57f13ded012e86bdcfb0532 (patch) | |
tree | 24e09d9f84dec336720cf393e156089ca2835791 /t/t2100-update-cache-badpath.sh | |
parent | Initial commit. (diff) | |
download | git-17a789943131483bc454986d1be6da6caaabce8c.tar.xz git-17a789943131483bc454986d1be6da6caaabce8c.zip |
Adding upstream version 1:2.39.2.upstream/1%2.39.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/t2100-update-cache-badpath.sh')
-rwxr-xr-x | t/t2100-update-cache-badpath.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/t/t2100-update-cache-badpath.sh b/t/t2100-update-cache-badpath.sh new file mode 100755 index 0000000..7915e7b --- /dev/null +++ b/t/t2100-update-cache-badpath.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Copyright (c) 2005 Junio C Hamano +# + +test_description='git update-index nonsense-path test. + +This test creates the following structure in the cache: + + path0 - a file + path1 - a symlink + path2/file2 - a file in a directory + path3/file3 - a file in a directory + +and tries to git update-index --add the following: + + path0/file0 - a file in a directory + path1/file1 - a file in a directory + path2 - a file + path3 - a symlink + +All of the attempts should fail. +' + +TEST_PASSES_SANITIZE_LEAK=true +. ./test-lib.sh + +mkdir path2 path3 +date >path0 +if test_have_prereq SYMLINKS +then + ln -s xyzzy path1 +else + date > path1 +fi +date >path2/file2 +date >path3/file3 + +test_expect_success \ + 'git update-index --add to add various paths.' \ + 'git update-index --add -- path0 path1 path2/file2 path3/file3' + +rm -fr path? + +mkdir path0 path1 +date >path2 +if test_have_prereq SYMLINKS +then + ln -s frotz path3 +else + date > path3 +fi +date >path0/file0 +date >path1/file1 + +for p in path0/file0 path1/file1 path2 path3 +do + test_expect_success \ + "git update-index to add conflicting path $p should fail." \ + "test_must_fail git update-index --add -- $p" +done +test_done |