From: Michael Haggerty Date: Thu, 6 Sep 2012 22:41:02 +0000 (+0200) Subject: t0060: verify that real_path() works correctly with absolute paths X-Git-Tag: v1.8.0-rc0~57^2~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7bcf48dad83e7a07f27403c2ce9e5c29af9e317d?ds=inline;hp=-c 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 Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- 7bcf48dad83e7a07f27403c2ce9e5c29af9e317d diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh index fab5ea28b2..3121691c6f 100755 --- a/t/t0060-path-utils.sh +++ b/t/t0060-path-utils.sh @@ -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 &&