From 99094a7ad484085b9f6849a8ebe1e23467c5bc14 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 20 Mar 2015 06:07:15 -0400 Subject: t: fix trivial &&-chain breakage These are tests which are missing a link in their &&-chain, but during a setup phase. We may fail to notice failure in commands that build the test environment, but these are typically not expected to fail at all (but it's still good to double-check that our test environment is what we expect). Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t9500-gitweb-standalone-no-errors.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/t9500-gitweb-standalone-no-errors.sh') diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh index e74b9ab1e1..f9f078e7b7 100755 --- a/t/t9500-gitweb-standalone-no-errors.sh +++ b/t/t9500-gitweb-standalone-no-errors.sh @@ -297,7 +297,7 @@ test_expect_success 'setup incomplete lines' ' echo "Dominus regit me," >file && echo "incomplete line" | tr -d "\\012" >>file && git commit -a -m "Change incomplete line" && - git tag incomplete_lines_chg + git tag incomplete_lines_chg && echo "Dominus regit me," >file && git commit -a -m "Remove incomplete line" && git tag incomplete_lines_rem -- cgit v1.2.3 From a6a4a88af0b99fec688f66256a2c23a15e110c1f Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 20 Mar 2015 06:10:21 -0400 Subject: 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 Signed-off-by: Junio C Hamano --- t/t5503-tagfollow.sh | 4 ++-- t/t6032-merge-large-rename.sh | 6 +++--- t/t7201-co.sh | 2 +- t/t7508-status.sh | 2 +- t/t9500-gitweb-standalone-no-errors.sh | 5 ++++- 5 files changed, 11 insertions(+), 8 deletions(-) (limited to 't/t9500-gitweb-standalone-no-errors.sh') 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"' -- cgit v1.2.3