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>
This commit is contained in:

committed by
Junio C Hamano

parent
0a5e3c50de
commit
a6a4a88af0
@ -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"'
|
||||
|
||||
|
Reference in New Issue
Block a user