288a480621
Mark various "generic" tests as passing when git is compiled with SANITIZE=leak. These tests were subjectively picked from the lists of passing tests since they're all small, and test some generic feature such as wildmatch(), commonly used environment variables, ident parsing etc. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
184 lines
4.0 KiB
Bash
Executable File
184 lines
4.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test GIT_CEILING_DIRECTORIES'
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_prefix() {
|
|
test_expect_success "$1" \
|
|
"test '$2' = \"\$(git rev-parse --show-prefix)\""
|
|
}
|
|
|
|
test_fail() {
|
|
test_expect_success "$1: prefix" '
|
|
test_expect_code 128 git rev-parse --show-prefix
|
|
'
|
|
}
|
|
|
|
TRASH_ROOT="$PWD"
|
|
ROOT_PARENT=$(dirname "$TRASH_ROOT")
|
|
|
|
|
|
unset GIT_CEILING_DIRECTORIES
|
|
test_prefix no_ceil ""
|
|
|
|
export GIT_CEILING_DIRECTORIES
|
|
|
|
GIT_CEILING_DIRECTORIES=""
|
|
test_prefix ceil_empty ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$ROOT_PARENT"
|
|
test_prefix ceil_at_parent ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$ROOT_PARENT/"
|
|
test_prefix ceil_at_parent_slash ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT"
|
|
test_prefix ceil_at_trash ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/"
|
|
test_prefix ceil_at_trash_slash ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub"
|
|
test_prefix ceil_at_sub ""
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/"
|
|
test_prefix ceil_at_sub_slash ""
|
|
|
|
if test_have_prereq SYMLINKS
|
|
then
|
|
ln -s sub top
|
|
fi
|
|
|
|
mkdir -p sub/dir || exit 1
|
|
cd sub/dir || exit 1
|
|
|
|
unset GIT_CEILING_DIRECTORIES
|
|
test_prefix subdir_no_ceil "sub/dir/"
|
|
|
|
export GIT_CEILING_DIRECTORIES
|
|
|
|
GIT_CEILING_DIRECTORIES=""
|
|
test_prefix subdir_ceil_empty "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT"
|
|
test_fail subdir_ceil_at_trash
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/"
|
|
test_fail subdir_ceil_at_trash_slash
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub"
|
|
test_fail subdir_ceil_at_sub
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/"
|
|
test_fail subdir_ceil_at_sub_slash
|
|
|
|
if test_have_prereq SYMLINKS
|
|
then
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/top"
|
|
test_fail subdir_ceil_at_top
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/top/"
|
|
test_fail subdir_ceil_at_top_slash
|
|
|
|
GIT_CEILING_DIRECTORIES=":$TRASH_ROOT/top"
|
|
test_prefix subdir_ceil_at_top_no_resolve "sub/dir/"
|
|
GIT_CEILING_DIRECTORIES=":$TRASH_ROOT/top/"
|
|
test_prefix subdir_ceil_at_top_slash_no_resolve "sub/dir/"
|
|
fi
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/dir"
|
|
test_prefix subdir_ceil_at_subdir "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/dir/"
|
|
test_prefix subdir_ceil_at_subdir_slash "sub/dir/"
|
|
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/su"
|
|
test_prefix subdir_ceil_at_su "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/su/"
|
|
test_prefix subdir_ceil_at_su_slash "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/di"
|
|
test_prefix subdir_ceil_at_sub_di "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub/di"
|
|
test_prefix subdir_ceil_at_sub_di_slash "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/subdi"
|
|
test_prefix subdir_ceil_at_subdi "sub/dir/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/subdi"
|
|
test_prefix subdir_ceil_at_subdi_slash "sub/dir/"
|
|
|
|
|
|
GIT_CEILING_DIRECTORIES="/foo:$TRASH_ROOT/sub"
|
|
test_fail second_of_two
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub:/bar"
|
|
test_fail first_of_two
|
|
|
|
GIT_CEILING_DIRECTORIES="/foo:$TRASH_ROOT/sub:/bar"
|
|
test_fail second_of_three
|
|
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sub"
|
|
GIT_DIR=../../.git
|
|
export GIT_DIR
|
|
test_prefix git_dir_specified ""
|
|
unset GIT_DIR
|
|
|
|
|
|
cd ../.. || exit 1
|
|
mkdir -p s/d || exit 1
|
|
cd s/d || exit 1
|
|
|
|
unset GIT_CEILING_DIRECTORIES
|
|
test_prefix sd_no_ceil "s/d/"
|
|
|
|
export GIT_CEILING_DIRECTORIES
|
|
|
|
GIT_CEILING_DIRECTORIES=""
|
|
test_prefix sd_ceil_empty "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT"
|
|
test_fail sd_ceil_at_trash
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/"
|
|
test_fail sd_ceil_at_trash_slash
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s"
|
|
test_fail sd_ceil_at_s
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s/"
|
|
test_fail sd_ceil_at_s_slash
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s/d"
|
|
test_prefix sd_ceil_at_sd "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s/d/"
|
|
test_prefix sd_ceil_at_sd_slash "s/d/"
|
|
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/su"
|
|
test_prefix sd_ceil_at_su "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/su/"
|
|
test_prefix sd_ceil_at_su_slash "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s/di"
|
|
test_prefix sd_ceil_at_s_di "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/s/di"
|
|
test_prefix sd_ceil_at_s_di_slash "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sdi"
|
|
test_prefix sd_ceil_at_sdi "s/d/"
|
|
|
|
GIT_CEILING_DIRECTORIES="$TRASH_ROOT/sdi"
|
|
test_prefix sd_ceil_at_sdi_slash "s/d/"
|
|
|
|
|
|
test_done
|