git p4 test: use real_path to resolve p4 client symlinks
The p4 program is finicky about making sure the recorded client Root matches the current working directory. The way it discovers the latter seems to be to inspect shell variable $PWD. This could involve symlinks, that while leading to the same place as the client Root, look different, and cause p4 to fail. Resolve all client paths using "test-path-utils real_path $path". This removes ".." and resolves all symlinks. Discovered while running with --root=/dev/shm, which is a link to /run/shm. Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pete Wyckoff committed
Jun 27, 2012 at 08:00 UTC
23bd0c99f7b789077c40ae5384dd0054ef5c00ac
3 files changed
+3
-3
t/lib-git-p4.sh
+1
-1
@@ -27,7 +27,7 @@ export P4CLIENT=client
27
export P4EDITOR=:
28
29
db="$TRASH_DIRECTORY/db"
30
-cli="$TRASH_DIRECTORY/cli"
30
+cli=$(test-path-utils real_path "$TRASH_DIRECTORY/cli")
31
git="$TRASH_DIRECTORY/git"
32
pidfile="$TRASH_DIRECTORY/p4d.pid"
33
t/t9806-git-p4-options.sh
+1
-1
@@ -128,7 +128,7 @@ test_expect_success 'clone --use-client-spec' '
128
exec >/dev/null &&
129
test_must_fail git p4 clone --dest="$git" --use-client-spec
130
) &&
131
- cli2="$TRASH_DIRECTORY/cli2" &&
131
+ cli2=$(test-path-utils real_path "$TRASH_DIRECTORY/cli2") &&
132
mkdir -p "$cli2" &&
133
test_when_finished "rmdir \"$cli2\"" &&
134
(
t/t9810-git-p4-rcs.sh
+1
-1
@@ -244,7 +244,7 @@ test_expect_success 'cope with rcs keyword expansion damage' '
244
cd "$git" &&
245
git config git-p4.skipSubmitEdit true &&
246
git config git-p4.attemptRCSCleanup true &&
247
- (cd ../cli && p4_append_to_file kwfile1.c) &&
247
+ (cd "$cli" && p4_append_to_file kwfile1.c) &&
248
old_lines=$(wc -l <kwfile1.c) &&
249
perl -n -i -e "print unless m/Revision:/" kwfile1.c &&
250
new_lines=$(wc -l <kwfile1.c) &&