1#!/bin/sh
   2test_description='cd_to_toplevel'
   4. ./test-lib.sh
   6test_cd_to_toplevel () {
   8        test_expect_success "$2" '
   9                (
  10                        cd '"'$1'"' &&
  11                        . git-sh-setup &&
  12                        cd_to_toplevel &&
  13                        [ "$(pwd -P)" = "$TOPLEVEL" ]
  14                )
  15        '
  16}
  17TOPLEVEL="$(pwd -P)/repo"
  19mkdir -p repo/sub/dir
  20mv .git repo/
  21SUBDIRECTORY_OK=1
  22test_cd_to_toplevel repo 'at physical root'
  24test_cd_to_toplevel repo/sub/dir 'at physical subdir'
  26ln -s repo symrepo
  28test_cd_to_toplevel symrepo 'at symbolic root'
  29ln -s repo/sub/dir subdir-link
  31test_cd_to_toplevel subdir-link 'at symbolic subdir'
  32cd repo
  34ln -s sub/dir internal-link
  35test_cd_to_toplevel internal-link 'at internal symbolic subdir'
  36test_done