git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv2 02/10] git p4 test: use real_path to resolve p4 client symlinks

From
PWPete Wyckoff <pw@padd.com>
Date
Jun 27, 2012, 12:00 UTC
Message-ID
<1340798463-14499-3-git-send-email-pw@padd.com>
In-Reply-To
<1340798463-14499-1-git-send-email-pw@padd.com>

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>
---
 t/lib-git-p4.sh           | 2 +-
 t/t9806-git-p4-options.sh | 2 +-
 t/t9810-git-p4-rcs.sh     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh
index 2e3706a..0b09735 100644
--- a/t/lib-git-p4.sh
+++ b/t/lib-git-p4.sh
@@ -27,7 +27,7 @@ export P4CLIENT=client
 export P4EDITOR=:
 
 db="$TRASH_DIRECTORY/db"
-cli="$TRASH_DIRECTORY/cli"
+cli=$(test-path-utils real_path "$TRASH_DIRECTORY/cli")
 git="$TRASH_DIRECTORY/git"
 pidfile="$TRASH_DIRECTORY/p4d.pid"
 
diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh
index 2892367..83738fa 100755
--- a/t/t9806-git-p4-options.sh
+++ b/t/t9806-git-p4-options.sh
@@ -128,7 +128,7 @@ test_expect_success 'clone --use-client-spec' '
 		exec >/dev/null &&
 		test_must_fail git p4 clone --dest="$git" --use-client-spec
 	) &&
-	cli2="$TRASH_DIRECTORY/cli2" &&
+	cli2=$(test-path-utils real_path "$TRASH_DIRECTORY/cli2") &&
 	mkdir -p "$cli2" &&
 	test_when_finished "rmdir \"$cli2\"" &&
 	(
diff --git a/t/t9810-git-p4-rcs.sh b/t/t9810-git-p4-rcs.sh
index d8d9ca4..c7313b0 100755
--- a/t/t9810-git-p4-rcs.sh
+++ b/t/t9810-git-p4-rcs.sh
@@ -244,7 +244,7 @@ test_expect_success 'cope with rcs keyword expansion damage' '
 		cd "$git" &&
 		git config git-p4.skipSubmitEdit true &&
 		git config git-p4.attemptRCSCleanup true &&
-		(cd ../cli && p4_append_to_file kwfile1.c) &&
+		(cd "$cli" && p4_append_to_file kwfile1.c) &&
 		old_lines=$(wc -l <kwfile1.c) &&
 		perl -n -i -e "print unless m/Revision:/" kwfile1.c &&
 		new_lines=$(wc -l <kwfile1.c) &&
-- 
1.7.11.1.69.gd505fd2
Previous: Junio C HamanoNext: Pete Wyckoff
Message 6 of 14 in “[PATCHv2 00/10] git p4 test fixes”
  1. Pete WyckoffJun 27, 2012
  2. 01/10 git p4 test: wait longer for p4d to start and test its pidPete Wyckoff, Jun 27, 2012
  3. Junio C HamanoJun 27, 2012
  4. 01/10 git p4 test: wait longer for p4d to start and test its pidPete Wyckoff, Jun 28, 2012
  5. Junio C HamanoJun 28, 2012
  6. 02/10 git p4 test: use real_path to resolve p4 client symlinksPete Wyckoff, Jun 27, 2012
  7. 03/10 git p4 test: simplify quoting involving TRASH_DIRECTORYPete Wyckoff, Jun 27, 2012
  8. 04/10 git p4 test: never create default test repoPete Wyckoff, Jun 27, 2012
  9. 05/10 git p4 test: rename some "git-p4 command" stringsPete Wyckoff, Jun 27, 2012
  10. 06/10 git p4 test: check for error message in failed testPete Wyckoff, Jun 27, 2012
  11. 07/10 git p4 test: copy source indeterminatePete Wyckoff, Jun 27, 2012
  12. 08/10 git p4 test: cleanup_git should make a new $gitPete Wyckoff, Jun 27, 2012
  13. 09/10 git p4 test: split up big t9800 testPete Wyckoff, Jun 27, 2012
  14. 10/10 git p4 test: fix badp4dir testPete Wyckoff, Jun 27, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.