@@ -35,9 +35,15 @@ prepare_test_file () {
}
apply_patch () {
+ should_fail= &&
+ if test "x$1" = 'x!'
+ then
+ should_fail=test_must_fail &&
+ shift
+ fi &&
>target &&
sed -e "s|\([ab]\)/file|\1/target|" <patch |
- git apply "$@"
+ $should_fail 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
'
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> --- t/t4124-apply-ws-rule.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)