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

[PATCHv2 03/10] git p4 test: simplify quoting involving TRASH_DIRECTORY

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

For temporary files that are created in the top-level TRASH_DIRECTORY, trust that the tests do not chdir except in subshells, and avoid some quoting.

Signed-off-by: Pete Wyckoff <pw@padd.com>
---
 t/t9800-git-p4-basic.sh            | 11 +++++------
 t/t9805-git-p4-skip-submit-edit.sh |  9 ++++-----
 t/t9806-git-p4-options.sh          | 14 ++++++--------
 t/t9808-git-p4-chdir.sh            |  4 ++--
 4 files changed, 17 insertions(+), 21 deletions(-)
diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh
index 0f410c4..7401c21 100755
--- a/t/t9800-git-p4-basic.sh
+++ b/t/t9800-git-p4-basic.sh
@@ -126,15 +126,14 @@ test_expect_success 'clone two dirs, @all, conflicting files' '
 '
 
 test_expect_success 'exit when p4 fails to produce marshaled output' '
-	badp4dir="$TRASH_DIRECTORY/badp4dir" &&
-	mkdir "$badp4dir" &&
-	test_when_finished "rm \"$badp4dir/p4\" && rmdir \"$badp4dir\"" &&
-	cat >"$badp4dir"/p4 <<-EOF &&
+	mkdir badp4dir &&
+	test_when_finished "rm badp4dir/p4 && rmdir badp4dir" &&
+	cat >badp4dir/p4 <<-EOF &&
 	#!$SHELL_PATH
 	exit 1
 	EOF
-	chmod 755 "$badp4dir"/p4 &&
-	PATH="$badp4dir:$PATH" git p4 clone --dest="$git" //depot >errs 2>&1 ; retval=$? &&
+	chmod 755 badp4dir/p4 &&
+	PATH="$TRASH_DIRECTORY/badp4dir:$PATH" git p4 clone --dest="$git" //depot >errs 2>&1 ; retval=$? &&
 	test $retval -eq 1 &&
 	test_must_fail grep -q Traceback errs
 '
diff --git a/t/t9805-git-p4-skip-submit-edit.sh b/t/t9805-git-p4-skip-submit-edit.sh
index 353dcfb..fb3c8ec 100755
--- a/t/t9805-git-p4-skip-submit-edit.sh
+++ b/t/t9805-git-p4-skip-submit-edit.sh
@@ -78,20 +78,19 @@ test_expect_success 'skipSubmitEditCheck' '
 test_expect_success 'no config, edited' '
 	git p4 clone --dest="$git" //depot &&
 	test_when_finished cleanup_git &&
-	ed="$TRASH_DIRECTORY/ed.sh" &&
-	test_when_finished "rm \"$ed\"" &&
-	cat >"$ed" <<-EOF &&
+	test_when_finished "rm ed.sh" &&
+	cat >ed.sh <<-EOF &&
 		#!$SHELL_PATH
 		sleep 1
 		touch "\$1"
 		exit 0
 	EOF
-	chmod 755 "$ed" &&
+	chmod 755 ed.sh &&
 	(
 		cd "$git" &&
 		echo line >>file1 &&
 		git commit -a -m "change 5" &&
-		P4EDITOR="" EDITOR="\"$ed\"" git p4 submit &&
+		P4EDITOR="" EDITOR="\"$TRASH_DIRECTORY/ed.sh\"" git p4 submit &&
 		p4 changes //depot/... >wc &&
 		test_line_count = 5 wc
 	)
diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh
index 83738fa..a37c6cb 100755
--- a/t/t9806-git-p4-options.sh
+++ b/t/t9806-git-p4-options.sh
@@ -39,10 +39,9 @@ test_expect_success 'clone --branch' '
 '
 
 test_expect_success 'clone --changesfile' '
-	cf="$TRASH_DIRECTORY/cf" &&
-	test_when_finished "rm \"$cf\"" &&
-	printf "1\n3\n" >"$cf" &&
-	git p4 clone --changesfile="$cf" --dest="$git" //depot &&
+	test_when_finished "rm cf" &&
+	printf "1\n3\n" >cf &&
+	git p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot &&
 	test_when_finished cleanup_git &&
 	(
 		cd "$git" &&
@@ -55,10 +54,9 @@ test_expect_success 'clone --changesfile' '
 '
 
 test_expect_success 'clone --changesfile, @all' '
-	cf="$TRASH_DIRECTORY/cf" &&
-	test_when_finished "rm \"$cf\"" &&
-	printf "1\n3\n" >"$cf" &&
-	test_must_fail git p4 clone --changesfile="$cf" --dest="$git" //depot@all
+	test_when_finished "rm cf" &&
+	printf "1\n3\n" >cf &&
+	test_must_fail git p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot@all
 '
 
 # imports both master and p4/master in refs/heads
diff --git a/t/t9808-git-p4-chdir.sh b/t/t9808-git-p4-chdir.sh
index 2f8014a..dc92e60 100755
--- a/t/t9808-git-p4-chdir.sh
+++ b/t/t9808-git-p4-chdir.sh
@@ -21,7 +21,7 @@ test_expect_success 'init depot' '
 # environment variable is set
 test_expect_success 'P4CONFIG and absolute dir clone' '
 	printf "P4PORT=$P4PORT\nP4CLIENT=$P4CLIENT\n" >p4config &&
-	test_when_finished "rm \"$TRASH_DIRECTORY/p4config\"" &&
+	test_when_finished "rm p4config" &&
 	test_when_finished cleanup_git &&
 	(
 		P4CONFIG=p4config && export P4CONFIG &&
@@ -33,7 +33,7 @@ test_expect_success 'P4CONFIG and absolute dir clone' '
 # same thing, but with relative directory name, note missing $ on --dest
 test_expect_success 'P4CONFIG and relative dir clone' '
 	printf "P4PORT=$P4PORT\nP4CLIENT=$P4CLIENT\n" >p4config &&
-	test_when_finished "rm \"$TRASH_DIRECTORY/p4config\"" &&
+	test_when_finished "rm p4config" &&
 	test_when_finished cleanup_git &&
 	(
 		P4CONFIG=p4config && export P4CONFIG &&
-- 
1.7.11.1.69.gd505fd2
Previous: Pete WyckoffNext: Pete Wyckoff
Message 7 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.