t0060: verify that real_path() works correctly with absolute paths
There is currently a bug: if passed an absolute top-level path that doesn't exist (e.g., "/foo") it incorrectly interprets the path as a relative path (e.g., returns "$(pwd)/foo"). So mark the test as failing. These tests are skipped on Windows because test-path-utils operates on a DOS-style absolute path even if a POSIX style absolute path is passed as argument. Adjusted for Windows by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3efe5d1d32
commit
7bcf48dad8
@ -148,7 +148,17 @@ test_expect_success 'real path rejects the empty string' '
|
||||
test_must_fail test-path-utils real_path ""
|
||||
'
|
||||
|
||||
test_expect_success SYMLINKS 'real path works as expected' '
|
||||
test_expect_failure POSIX 'real path works on absolute paths' '
|
||||
nopath="hopefully-absent-path" &&
|
||||
test "/" = "$(test-path-utils real_path "/")" &&
|
||||
test "/$nopath" = "$(test-path-utils real_path "/$nopath")" &&
|
||||
# Find an existing top-level directory for the remaining tests:
|
||||
d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") &&
|
||||
test "$d" = "$(test-path-utils real_path "$d")" &&
|
||||
test "$d/$nopath" = "$(test-path-utils real_path "$d/$nopath")"
|
||||
'
|
||||
|
||||
test_expect_success SYMLINKS 'real path works on symlinks' '
|
||||
mkdir first &&
|
||||
ln -s ../.git first/.git &&
|
||||
mkdir second &&
|
||||
|
Loading…
Reference in New Issue
Block a user