blob: e42cbfe6c61951c6887a363cb668d26a7adcf20c [file] [log] [blame]
#!/bin/sh
test_description='cd_to_toplevel'
. ./test-lib.sh
test_cd_to_toplevel () {
test_expect_success "$2" '
(
cd '"'$1'"' &&
. git-sh-setup &&
cd_to_toplevel &&
[ "$(unset PWD; /bin/pwd)" = "$TOPLEVEL" ]
)
'
}
TOPLEVEL="$(unset PWD; /bin/pwd)/repo"
mkdir -p repo/sub/dir
mv .git repo/
SUBDIRECTORY_OK=1
test_cd_to_toplevel repo 'at physical root'
test_cd_to_toplevel repo/sub/dir 'at physical subdir'
ln -s repo symrepo
test_cd_to_toplevel symrepo 'at symbolic root'
ln -s repo/sub/dir subdir-link
test_cd_to_toplevel subdir-link 'at symbolic subdir'
cd repo
ln -s sub/dir internal-link
test_cd_to_toplevel internal-link 'at internal symbolic subdir'
test_done