diff options
author | Jeff King <peff@peff.net> | 2015-03-20 06:10:21 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-03-20 10:20:15 -0700 |
commit | a6a4a88af0b99fec688f66256a2c23a15e110c1f (patch) | |
tree | bfee73a8fc4decd7c1556a065b2202efadb0670b | |
parent | 0a5e3c50de60c73782f1add9eb8d1e8dc8eabcb8 (diff) | |
download | git-a6a4a88af0b99fec688f66256a2c23a15e110c1f.tar.gz |
t: fix &&-chaining issues around setup which might fail
Many tests have an initial setup step that might fail based
on whether earlier tests in the script have succeeded or
not. Using a trick like "|| true" breaks the &&-chain,
missing earlier failures (and fooling --chain-lint).
We can use test_might_fail in some cases, which is correct
and makes the intent more obvious. We can also use
test_unconfig for unsetting config (and which is more
robust, as well).
The case in t9500 is an oddball. It wants to run cmd1 _or_
cmd2, and does it like:
cmd1 || cmd2 &&
other_stuff
It's not wrong in this case, but it's a bad habit to get
into, because it breaks the &&-chain if used anywhere except
at the beginning of the test (and we use the correct
solution here, putting it inside a block for precedence).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t5503-tagfollow.sh | 4 | ||||
-rwxr-xr-x | t/t6032-merge-large-rename.sh | 6 | ||||
-rwxr-xr-x | t/t7201-co.sh | 2 | ||||
-rwxr-xr-x | t/t7508-status.sh | 2 | ||||
-rwxr-xr-x | t/t9500-gitweb-standalone-no-errors.sh | 5 |
5 files changed, 11 insertions, 8 deletions
diff --git a/t/t5503-tagfollow.sh b/t/t5503-tagfollow.sh index f30c03885c..4ca48f0276 100755 --- a/t/t5503-tagfollow.sh +++ b/t/t5503-tagfollow.sh @@ -139,8 +139,8 @@ EOF ' test_expect_success 'new clone fetch master and tags' ' - git branch -D cat - rm -f $U + test_might_fail git branch -D cat && + rm -f $U && ( mkdir clone2 && cd clone2 && diff --git a/t/t6032-merge-large-rename.sh b/t/t6032-merge-large-rename.sh index 15beecc3c6..0f79268917 100755 --- a/t/t6032-merge-large-rename.sh +++ b/t/t6032-merge-large-rename.sh @@ -28,10 +28,10 @@ make_text() { test_rename() { test_expect_success "rename ($1, $2)" ' - n='$1' - expect='$2' + n='$1' && + expect='$2' && git checkout -f master && - git branch -D test$n || true && + test_might_fail git branch -D test$n && git reset --hard initial && for i in $(count $n); do make_text $i initial initial >$i diff --git a/t/t7201-co.sh b/t/t7201-co.sh index eae9e5a937..a7fe4e6757 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -591,7 +591,7 @@ test_expect_success 'checkout --conflict=merge, overriding config' ' ' test_expect_success 'checkout --conflict=diff3' ' - git config --unset merge.conflictstyle + test_unconfig merge.conflictstyle && setup_conflicting_index && echo "none of the above" >sample && echo ourside >expect && diff --git a/t/t7508-status.sh b/t/t7508-status.sh index 0f9ad4c7e2..c3ed7cb51c 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -538,7 +538,7 @@ A dir2/added ?? untracked EOF test_expect_success 'status -s -uall' ' - git config --unset status.showuntrackedfiles + test_unconfig status.showuntrackedfiles && git status -s -uall >output && test_cmp expect output ' diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh index f9f078e7b7..e94b2f147a 100755 --- a/t/t9500-gitweb-standalone-no-errors.sh +++ b/t/t9500-gitweb-standalone-no-errors.sh @@ -779,7 +779,10 @@ test_expect_success \ test_expect_success \ 'unborn HEAD: "summary" page (with "heads" subview)' \ - 'git checkout orphan_branch || git checkout --orphan orphan_branch && + '{ + git checkout orphan_branch || + git checkout --orphan orphan_branch + } && test_when_finished "git checkout master" && gitweb_run "p=.git;a=summary"' |