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

[PATCH] t9118 (git-svn): prevent early failure from taking down later tests

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 8, 2010, 13:36 UTC
Message-ID
<20100708133602.GA1882@burratino>
In-Reply-To
<4C352EB5.5020005@gmail.com>

When test #2 fails, the cwd is project/, causing all the remaining tests in the same script to get confused and fail.

So in the spirit of v1.7.1.1~53^2~10 (t5550-http-fetch: Use subshell for repository operations, 2010-04-17), use a subshell for svn working copy operations. This way, the cwd will reliably return to the top of the trash directory and later tests can still be run when a command has failed.

Reported-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
A Large Angry SCM wrote:
> *** t9118-git-svn-funky-branch-names.sh ***
> ok 1 - setup svnrepo
> not ok - 2 test clone with funky branch names

Relates to an svn change from some point between 1.5.1 and 1.6.12. Not solved yet. See <http://thread.gmane.org/gmane.comp.version-control.git/146498/focus=150549>.

> not ok - 3 test dcommit to funky branch
> not ok - 4 test dcommit to scary branch
> not ok - 5 test dcommit to trailing_dotlock branch
Collateral damage.  How about this patch?
 t/t9118-git-svn-funky-branch-names.sh |   46 ++++++++++++++++++---------------
 1 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/t/t9118-git-svn-funky-branch-names.sh b/t/t9118-git-svn-funky-branch-names.sh
index 7d7acc3..5dbea59 100755
--- a/t/t9118-git-svn-funky-branch-names.sh
+++ b/t/t9118-git-svn-funky-branch-names.sh
@@ -34,42 +34,46 @@ test_expect_success 'setup svnrepo' '
 
 test_expect_success 'test clone with funky branch names' '
 	git svn clone -s "$svnrepo/pr ject" project &&
-	cd project &&
+	(
+		cd project &&
 		git rev-parse "refs/remotes/fun%20plugin" &&
 		git rev-parse "refs/remotes/more%20fun%20plugin!" &&
 		git rev-parse "refs/remotes/$scary_ref" &&
 		git rev-parse "refs/remotes/%2Eleading_dot" &&
 		git rev-parse "refs/remotes/trailing_dot%2E" &&
 		git rev-parse "refs/remotes/trailing_dotlock%2Elock" &&
-		git rev-parse "refs/remotes/not-a%40{0}reflog" &&
-	cd ..
+		git rev-parse "refs/remotes/not-a%40{0}reflog"
+	)
 	'
 
 test_expect_success 'test dcommit to funky branch' "
-	cd project &&
-	git reset --hard 'refs/remotes/more%20fun%20plugin!' &&
-	echo hello >> foo &&
-	git commit -m 'hello' -- foo &&
-	git svn dcommit &&
-	cd ..
+	(
+		cd project &&
+		git reset --hard 'refs/remotes/more%20fun%20plugin!' &&
+		echo hello >> foo &&
+		git commit -m 'hello' -- foo &&
+		git svn dcommit
+	)
 	"
 
 test_expect_success 'test dcommit to scary branch' '
-	cd project &&
-	git reset --hard "refs/remotes/$scary_ref" &&
-	echo urls are scary >> foo &&
-	git commit -m "eep" -- foo &&
-	git svn dcommit &&
-	cd ..
+	(
+		cd project &&
+		git reset --hard "refs/remotes/$scary_ref" &&
+		echo urls are scary >> foo &&
+		git commit -m "eep" -- foo &&
+		git svn dcommit
+	)
 	'
 
 test_expect_success 'test dcommit to trailing_dotlock branch' '
-	cd project &&
-	git reset --hard "refs/remotes/trailing_dotlock%2Elock" &&
-	echo who names branches like this anyway? >> foo &&
-	git commit -m "bar" -- foo &&
-	git svn dcommit &&
-	cd ..
+	(
+		cd project &&
+		git reset --hard "refs/remotes/trailing_dotlock%2Elock" &&
+		echo who names branches like this anyway? >> foo &&
+		git commit -m "bar" -- foo &&
+		git svn dcommit
+	)
 	'
 
 stop_httpd
-- 
1.7.2.rc1.527.gff41c3.dirty
Previous: A Large Angry SCMNext: A Large Angry SCM
Message 5 of 8 in “t9118 broken in current master, 9918285, git/git/v1.7.2-rc2”
  1. A Large Angry SCMJul 8, 2010
  2. Brian GernhardtJul 8, 2010
  3. Brian GernhardtJul 8, 2010
  4. A Large Angry SCMJul 8, 2010
  5. t9118 (git-svn): prevent early failure from taking down later testsJonathan Nieder, Jul 8, 2010
  6. A Large Angry SCMJul 8, 2010
  7. Jonathan NiederJul 8, 2010
  8. Eric WongJul 8, 2010

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.