[PATCH 2/6] t5400: allow individual tests to fail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Each test chdir'ed around and ended up in a random place if any of the
test in the sequence failed but the entire test script was allowed to
run.  This wrapps each in a subshell as necessary.

Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
---
 t/t5400-send-pack.sh |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index b21317d..013aced 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -10,6 +10,7 @@ test_description='See why rewinding head breaks send-pack
 
 cnt=64
 test_expect_success setup '
+    (
 	test_tick &&
 	mkdir mozart mozart/is &&
 	echo "Commit #0" >mozart/is/pink &&
@@ -51,7 +52,9 @@ test_expect_success setup '
 	done &&
 	git update-ref HEAD "$commit" &&
 	echo Rebase &&
-	git log'
+	git log
+    )
+'
 
 test_expect_success 'pack the source repository' '
 	git repack -a -d &&
@@ -59,10 +62,12 @@ test_expect_success 'pack the source repository' '
 '
 
 test_expect_success 'pack the destination repository' '
+    (
 	cd victim &&
 	git repack -a -d &&
 	git prune &&
 	cd ..
+    )
 '
 
 test_expect_success \
@@ -89,49 +94,53 @@ test_expect_success \
 	cmp victim/.git/refs/heads/master .git/refs/heads/master
 '
 
-test_expect_success \
-        'push can be used to delete a ref' '
+test_expect_success 'push can be used to delete a ref' '
+    (
 	cd victim &&
 	git branch extra master &&
 	cd .. &&
 	test -f victim/.git/refs/heads/extra &&
 	git send-pack ./victim/.git/ :extra master &&
 	! test -f victim/.git/refs/heads/extra
+    )
 '
 
 unset GIT_CONFIG
 HOME=`pwd`/no-such-directory
 export HOME ;# this way we force the victim/.git/config to be used.
 
-test_expect_success \
-	'pushing a delete should be denied with denyDeletes' '
+test_expect_success 'pushing a delete should be denied with denyDeletes' '
+    (
 	cd victim &&
 	git config receive.denyDeletes true &&
 	git branch extra master &&
 	cd .. &&
 	test -f victim/.git/refs/heads/extra &&
 	test_must_fail git send-pack ./victim/.git/ :extra master
+    )
 '
 rm -f victim/.git/refs/heads/extra
 
-test_expect_success \
-        'pushing with --force should be denied with denyNonFastforwards' '
+test_expect_success 'pushing with --force should be denied with denyNonFastforwards' '
+    (
 	cd victim &&
 	git config receive.denyNonFastforwards true &&
 	cd .. &&
 	git update-ref refs/heads/master master^ || return 1
 	git send-pack --force ./victim/.git/ master && return 1
 	! test_cmp .git/refs/heads/master victim/.git/refs/heads/master
+    )
 '
 
-test_expect_success \
-	'pushing does not include non-head refs' '
+test_expect_success 'pushing does not include non-head refs' '
+    (
 	mkdir parent && cd parent &&
 	git init && touch file && git add file && git commit -m add &&
 	cd .. &&
 	git clone parent child && cd child && git push --all &&
 	cd ../parent &&
 	git branch -a >branches && ! grep origin/master branches
+    )
 '
 
 rewound_push_setup() {
@@ -156,8 +165,8 @@ rewound_push_failed() {
 	fi
 }
 
-test_expect_success \
-	'pushing explicit refspecs respects forcing' '
+test_expect_success 'pushing explicit refspecs respects forcing' '
+    (
 	rewound_push_setup &&
 	if git send-pack ../parent/.git refs/heads/master:refs/heads/master
 	then
@@ -167,10 +176,11 @@ test_expect_success \
 	fi && rewound_push_failed &&
 	git send-pack ../parent/.git +refs/heads/master:refs/heads/master &&
 	rewound_push_succeeded
+    )
 '
 
-test_expect_success \
-	'pushing wildcard refspecs respects forcing' '
+test_expect_success 'pushing wildcard refspecs respects forcing' '
+    (
 	rewound_push_setup &&
 	if git send-pack ../parent/.git refs/heads/*:refs/heads/*
 	then
@@ -180,6 +190,7 @@ test_expect_success \
 	fi && rewound_push_failed &&
 	git send-pack ../parent/.git +refs/heads/*:refs/heads/* &&
 	rewound_push_succeeded
+    )
 '
 
 test_done
-- 
1.6.2.rc0.28.g2593d

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux