t5801: teach compare_refs() to accept !
Before, testing if two refs weren't equal with compare_refs() was done with `test_must_fail compare_refs`. This was wrong for two reasons. First, test_must_fail should only be used on git commands. Second, negating the error code is a little heavy-handed since in the case where one of the git invocations within compare_refs() fails, we will report success, even though it failed at an unexpected point. Teach compare_refs() to accept `!` as the first argument which would _only_ negate the test_cmp()'s return code. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3d180973c1
commit
ec8f87b8eb
@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
|
|||||||
PATH="$TEST_DIRECTORY/t5801:$PATH"
|
PATH="$TEST_DIRECTORY/t5801:$PATH"
|
||||||
|
|
||||||
compare_refs() {
|
compare_refs() {
|
||||||
|
fail= &&
|
||||||
|
if test "x$1" = 'x!'
|
||||||
|
then
|
||||||
|
fail='!' &&
|
||||||
|
shift
|
||||||
|
fi &&
|
||||||
git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
|
git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
|
||||||
git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
|
git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
|
||||||
test_cmp expect actual
|
eval $fail test_cmp expect actual
|
||||||
}
|
}
|
||||||
|
|
||||||
test_expect_success 'setup repository' '
|
test_expect_success 'setup repository' '
|
||||||
@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
|
|||||||
git push origin signed-tag
|
git push origin signed-tag
|
||||||
) &&
|
) &&
|
||||||
compare_refs local signed-tag^{} server signed-tag^{} &&
|
compare_refs local signed-tag^{} server signed-tag^{} &&
|
||||||
test_must_fail compare_refs local signed-tag server signed-tag
|
compare_refs ! local signed-tag server signed-tag
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success GPG 'push signed tag with signed-tags capability' '
|
test_expect_success GPG 'push signed tag with signed-tags capability' '
|
||||||
|
Reference in New Issue
Block a user