t4124: only mark git command with test_must_fail
The test_must_fail function should only be used for git commands since we should assume that external commands work sanely. Since apply_patch wraps a sed and git invocation, rewrite it to accept an `!` argument which would cause only the git command to be prefixed with `test_must_fail`. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a8c663cf65
commit
37a63faae5
@ -35,9 +35,15 @@ prepare_test_file () {
|
||||
}
|
||||
|
||||
apply_patch () {
|
||||
cmd_prefix= &&
|
||||
if test "x$1" = 'x!'
|
||||
then
|
||||
cmd_prefix=test_must_fail &&
|
||||
shift
|
||||
fi &&
|
||||
>target &&
|
||||
sed -e "s|\([ab]\)/file|\1/target|" <patch |
|
||||
git apply "$@"
|
||||
$cmd_prefix git apply "$@"
|
||||
}
|
||||
|
||||
test_fix () {
|
||||
@ -99,7 +105,7 @@ test_expect_success 'whitespace=warn, default rule' '
|
||||
|
||||
test_expect_success 'whitespace=error-all, default rule' '
|
||||
|
||||
test_must_fail apply_patch --whitespace=error-all &&
|
||||
apply_patch ! --whitespace=error-all &&
|
||||
test_must_be_empty target
|
||||
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user