mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
tests: allow testing if a path is truly a file or a directory
Add test_path_is_file_not_symlink(), test_path_is_dir_not_symlink() and test_path_is_symlink(). Case of use for the first one in test t/t3903-stash.sh to replace "test -f" because that function explicitly want the file not to be a symlink. Give more friendly error message. Signed-off-by: COGONI Guillaume <cogoni.guillaume@gmail.com> Co-authored-by: BRESSAT Jonathan <git.jonathan.bressat@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f01f948282
commit
456296b5d1
|
@ -390,7 +390,7 @@ test_expect_success SYMLINKS 'stash file to symlink' '
|
|||
rm file &&
|
||||
ln -s file2 file &&
|
||||
git stash save "file to symlink" &&
|
||||
test -f file &&
|
||||
test_path_is_file_not_symlink file &&
|
||||
test bar = "$(cat file)" &&
|
||||
git stash apply &&
|
||||
case "$(ls -l file)" in *" file -> file2") :;; *) false;; esac
|
||||
|
@ -401,7 +401,7 @@ test_expect_success SYMLINKS 'stash file to symlink (stage rm)' '
|
|||
git rm file &&
|
||||
ln -s file2 file &&
|
||||
git stash save "file to symlink (stage rm)" &&
|
||||
test -f file &&
|
||||
test_path_is_file_not_symlink file &&
|
||||
test bar = "$(cat file)" &&
|
||||
git stash apply &&
|
||||
case "$(ls -l file)" in *" file -> file2") :;; *) false;; esac
|
||||
|
@ -413,7 +413,7 @@ test_expect_success SYMLINKS 'stash file to symlink (full stage)' '
|
|||
ln -s file2 file &&
|
||||
git add file &&
|
||||
git stash save "file to symlink (full stage)" &&
|
||||
test -f file &&
|
||||
test_path_is_file_not_symlink file &&
|
||||
test bar = "$(cat file)" &&
|
||||
git stash apply &&
|
||||
case "$(ls -l file)" in *" file -> file2") :;; *) false;; esac
|
||||
|
|
|
@ -856,6 +856,16 @@ test_path_is_file () {
|
|||
fi
|
||||
}
|
||||
|
||||
test_path_is_file_not_symlink () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
test_path_is_file "$1" &&
|
||||
if test -h "$1"
|
||||
then
|
||||
echo "$1 shouldn't be a symbolic link"
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
test_path_is_dir () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
if ! test -d "$1"
|
||||
|
@ -865,6 +875,16 @@ test_path_is_dir () {
|
|||
fi
|
||||
}
|
||||
|
||||
test_path_is_dir_not_symlink () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
test_path_is_dir "$1" &&
|
||||
if test -h "$1"
|
||||
then
|
||||
echo "$1 shouldn't be a symbolic link"
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
test_path_exists () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
if ! test -e "$1"
|
||||
|
@ -874,6 +894,15 @@ test_path_exists () {
|
|||
fi
|
||||
}
|
||||
|
||||
test_path_is_symlink () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
if ! test -h "$1"
|
||||
then
|
||||
echo "Symbolic link $1 doesn't exist"
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if the directory exists and is empty as expected, barf otherwise.
|
||||
test_dir_is_empty () {
|
||||
test "$#" -ne 1 && BUG "1 param"
|
||||
|
|
Loading…
Reference in a new issue